Rename Cardie to Chat-O-Matic

This commit is contained in:
Jaidyn Ann 2021-08-19 02:28:06 -05:00
parent da8b0236c5
commit 8f159b7e8b
33 changed files with 84 additions and 66 deletions

View File

@ -6,7 +6,7 @@ We will add you!
== Core developers ==
Cardie mantainer(s):
Chat-O-Matic mantainer(s):
* Jaidyn Levesque <jadedctrl@teknik.io>
Caya mantainer(s):

View File

@ -1,5 +1,5 @@
LIBPATHS = $(OBJ_DIR)
PROTOCOL_DIR = $(OBJ_DIR)/cardie/
PROTOCOL_DIR = $(OBJ_DIR)/chat-o-matic/
DEBUG_ENABLED ?= false
DEFINES := VERSION="\"0.0.2\"" \

View File

@ -46,9 +46,9 @@ to offline.
`STATUS_OFFLINE` is for a momentary pause, i.e., the server is down or the user
toggled the connection. The ChatProtocol will remain existent and active.
If the status is set to offline by the protocol (and not the user!) Cardie will
automatically attempt a reconnect after some time by trying to set the status
to `STATUS_ONLINE`, which should toggle the connection.
If the status is set to offline by the protocol (and not the user!)
Chat-O-Matic will automatically attempt a reconnect after some time by trying to
set the status to `STATUS_ONLINE`, which should toggle the connection.
`IM_PROTOCOL_DISABLE` deletes the ChatProtocol, and should only be sent to the
app when an irrecoverable error requiring user intervention has happened, i.e.,
@ -93,10 +93,10 @@ BMessage('IMst') {
```
The template is a BMessage with sub-messages named "setting", each with, at
least, an internal "name" (the slot used by Cardie in the message parameter of
`UpdateSettings()`), a user-friendly label ("description"), and the slot type
in "type"― currently `B_INT32_TYPE`,` B_STRING_TYPE`, and `B_BOOL_TYPE` are
accepted.
least, an internal "name" (the slot used by Chat-O-Matic in the message
parameter of `UpdateSettings()`), a user-friendly label ("description"), and
the slot type in "type"― currently `B_INT32_TYPE`,` B_STRING_TYPE`, and
`B_BOOL_TYPE` are accepted.
By default, slots are not required, and it's accepted for the user to skip them.
To make a slot required, put an error message into "error", warning the user
@ -144,14 +144,14 @@ continuity a bit.
# Joining a room
The basic structure for joining a room should be like this, with each line being
a subsequent response to the previous message:
* Cardie (`IM_JOIN_ROOM`/`IM_CREATE_CHAT`) → Protocol
* Protocol (`IM_ROOM_JOINED`/`IM_CHAT_CREATED`) → Cardie
* Cardie (`IM_GET_ROOM_METADATA` & `IM_GET_ROOM_PARTICIPANTS`) → Protocol
* Protocol (`IM_ROOM_METADATA` & `IM_ROOM_PARTICIPANTS`) → Cardie
* App (`IM_JOIN_ROOM`/`IM_CREATE_CHAT`) → Protocol
* Protocol (`IM_ROOM_JOINED`/`IM_CHAT_CREATED`) → App
* App (`IM_GET_ROOM_METADATA` & `IM_GET_ROOM_PARTICIPANTS`) → Protocol
* Protocol (`IM_ROOM_METADATA` & `IM_ROOM_PARTICIPANTS`) → App
Preferably, `IM_ROOM_METADATA` and `IM_ROOM_PARTICIPANTS` should only be used as
above (in response to a request from Cardie) since they are silent and don't
explicitly tell the user what's happened― whereas messages like
above (in response to a request from Chat-O-Matic) since they are silent and
don't explicitly tell the user what's happened― whereas messages like
`IM_ROOM_PARTICIPANT_JOINED` and `IM_ROOM_SUBJECT_SET` will inform the user of
the change.

View File

@ -1,7 +1,8 @@
# Cardie
# ![Chat-O-Matic Icon](data/icons/AppIcon.png) Chat-O-Matic
![GSoC 2021](https://img.shields.io/badge/GSoC-2021-green.svg)
Cardie is a multi-protocol chat program based on [Caya](https://github.com/Augustolo/Caya).
Chat-O-Matic is a multi-protocol chat program based on [Caya](https://github.com/Augustolo/Caya).
![Screenshot](data/screenshots/update-3.png)
@ -15,7 +16,7 @@ Protocols generally supported through libpurple include GroupWise, Zephyr, and
## Building
You can make Cardie and its protocols with:
You can make Chat-O-Matic and its protocols with:
`$ make`
@ -23,22 +24,22 @@ Or one-by-one:
`$ make libs; make app; make protocols`
Cardie itself requires the `expat_devel` package, the XMPP protocol requires
Chat-O-Matic itself requires the `expat_devel` package, the XMPP protocol requires
`gloox_devel`, and the libpurple add-on requires `libpurple_devel` and
`glib2_devel`― though it's worth noting that libpurple doesn't work on x86_gcc2.
## Installation
Protocol add-ons can be installed in any add-ons directory under `cardie`
(i.e., `~/config/non-packaged/add-ons/cardie/`) or in the binary's CWD
(`./cardie/`).
Protocol add-ons can be installed in any add-ons directory under `chat-o-matic`
(i.e., `~/config/non-packaged/add-ons/chat-o-matic/`) or in the binary's CWD
(`./chat-o-matic/`).
libpurple plugins can be installed to any lib directory under `purple-2`
(i.e., `~/config/non-packaged/lib/purple-2/`).
## License
Cardie itself is under the MIT license, but licenses vary for the included
Chat-O-Matic 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.

View File

@ -22,11 +22,6 @@ const rgb_color APP_SELEND_COLOR = {230, 113, 9};
#define APP_MENTION_BEEP "Chat-o-Matic mention"
#define APP_MESSAGE_BEEP "Chat-o-Matic message"
/**
* Miscellaneous.
*/
#define APP_UTF8_MUSICAL_NOTES "\xE2\x99\xAB"
/**
* Status codes.
*/

View File

@ -5,7 +5,7 @@
#ifndef _APP_H
#define _APP_H
#define APP_SIGNATURE "application/x-vnd.cardie"
#define APP_NAME "Cardie"
#define APP_SIGNATURE "application/x-vnd.chat-o-matic"
#define APP_NAME "Chat-O-Matic"
#endif // _APP_H

View File

@ -1,4 +1,4 @@
#include "Cardie.h"
#include "ChatOMatic.h"
resource app_signature APP_SIGNATURE;
@ -11,7 +11,7 @@ resource app_version {
internal = 0,
short_info = APP_NAME,
long_info = "©2009-2021 Cardie, Caya, & IMKit Contributors"
long_info = "©2009-2021 Chat-O-Matic, Caya, & IMKit Contributors"
};
resource app_flags B_SINGLE_LAUNCH;

View File

@ -14,7 +14,7 @@
class BBitmap;
// Cardie protocol interface version
// Chat-O-Matic protocol interface version
#define APP_VERSION_1_PRE_ALPHA_1 0x00000001
#define APP_VERSION_1_ALPHA_1 0x00000100

View File

@ -14,7 +14,7 @@
#include "AppConstants.h"
#include "AppPreferences.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "ChatProtocolMessages.h"
#include "RenderView.h"
#include "ChatCommand.h"

View File

@ -8,7 +8,7 @@
## file:///system/develop/documentation/makefile-engine.html
# The name of the binary.
NAME = Cardie
NAME = Chat-O-Matic
# The type of binary, must be one of:
# APP: Application
@ -18,7 +18,7 @@ NAME = Cardie
TYPE = APP
# If you plan to use localization, specify the application's MIME signature.
APP_MIME_SIG = application/x-vnd.cardie
APP_MIME_SIG = application/x-vnd.chat-o-matic
# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are
# so that Pe and Eddie can fill them in for you.
@ -87,7 +87,7 @@ SRCS = \
# Specify the resource definition files to use. Full or relative paths can be
# used.
RDEFS = Cardie.rdef \
RDEFS = ChatOMatic.rdef \
data/misc/Templates.rdef \
data/icons/status/Away.rdef \
data/icons/status/Busy.rdef \

View File

@ -17,6 +17,7 @@
#include "Account.h"
#include "AppMessages.h"
#include "ChatOMatic.h"
#include "ChatProtocolMessages.h"
#include "Conversation.h"
#include "ConversationAccountItem.h"
@ -263,7 +264,7 @@ ProtocolLooper::_InitChatView()
BMessage init(IM_MESSAGE);
init.AddInt32("im_what", IM_MESSAGE_RECEIVED);
init.AddString("user_name", "Cardie");
init.AddString("user_name", APP_NAME);
init.AddString("body", B_TRANSLATE("I'm rearing to go!"));
fSystemChatView->MessageReceived(&init);

View File

@ -28,7 +28,7 @@
#include "Account.h"
#include "AppMessages.h"
#include "AppPreferences.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "ChatProtocol.h"
#include "ConversationInfoWindow.h"
#include "ConversationView.h"
@ -284,7 +284,7 @@ Server::ImMessage(BMessage* msg)
if (status == STATUS_OFFLINE || status == STATUS_ONLINE) {
BMessage info(IM_MESSAGE);
info.AddInt32("im_what", IM_MESSAGE_RECEIVED);
info.AddString("user_name", "Cardie");
info.AddString("user_name", APP_NAME);
if (status == STATUS_OFFLINE)
info.AddString("body", B_TRANSLATE("Account now offline and disconnected."));
else

View File

@ -22,7 +22,7 @@
#include <librunview/Emoticor.h>
#include "AboutWindow.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "AppMessages.h"
#include "FilePanel.h"
#include "MainWindow.h"

View File

@ -19,7 +19,7 @@
#include <kernel/fs_attr.h>
#include "Cardie.h"
#include "ChatOMatic.h"
#include "Utils.h"

View File

@ -23,6 +23,7 @@
#include "AppMessages.h"
#include "AppPreferences.h"
#include "ChatOMatic.h"
#include "ChatProtocolMessages.h"
#include "Conversation.h"
#include "NotifyMessage.h"
@ -630,8 +631,10 @@ ConversationView::_UserMessage(const char* format, const char* bodyFormat,
void
ConversationView::_FakeChat()
{
fNameTextView->SetText(B_TRANSLATE("Cardie setup"));
fSubjectTextView->SetText(B_TRANSLATE("No accounts configured, no joy."));
BString name(B_TRANSLATE("%app% setup"));
name.ReplaceAll("%app%", APP_NAME);
fNameTextView->SetText(name);
fSubjectTextView->SetText(B_TRANSLATE("No accounts enabled, no joy."));
BMessage obsv(IM_MESSAGE);
obsv.AddInt32("im_what", IM_MESSAGE_RECEIVED);

View File

@ -29,7 +29,7 @@
#include "AppMessages.h"
#include "AppPreferences.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "ChatProtocolMessages.h"
#include "ReplicantMenuItem.h"
#include "Utils.h"

View File

@ -20,7 +20,7 @@
#include "AppMessages.h"
#include "AppPreferences.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "ChatProtocolMessages.h"
#include "RosterItem.h"
#include "RosterListView.h"

View File

@ -23,7 +23,7 @@
#include "AccountsWindow.h"
#include "AppMessages.h"
#include "AppPreferences.h"
#include "Cardie.h"
#include "ChatOMatic.h"
#include "ChatProtocolAddOn.h"
#include "ChatProtocolMessages.h"
#include "ConversationItem.h"

View File

@ -114,7 +114,6 @@ RosterWindow::MessageReceived(BMessage* message)
fMessage->AddString("user_id", user_id);
fMessage->AddInt64("instance", instance);
fTarget->SendMessage(fMessage);
fMessage->PrintToStream();
PostMessage(B_QUIT_REQUESTED);
break;
}

BIN
data/icons/AppIcon Normal file

Binary file not shown.

BIN
data/icons/AppIcon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

19
data/icons/AppIcon.rdef Normal file
View File

@ -0,0 +1,19 @@
resource vector_icon array {
$"6E6369660E05000200060237E670B8880E39469D39AE144A52234B0D2500C6D7"
$"F5FF6B94DD03EC6666020006023B2B47BB18653D0FA53D225148297046CA1900"
$"FFEC4BFFF0A506020006023B3049396B0ABA90833C646E4A101543299500FFFF"
$"FFFFFFF289020006023C71E33A0C78BA15E43C7D2149055549455700E3EDFFFF"
$"9EC2FF03FFACAC020006023A1DA6393F04BBB5BC3C6B074AEA3648091100F99B"
$"05FFFCB23D03003CB00200060230B31E3A09B9BB024238A12F4BAB534AFF0B00"
$"A3043CFFFFDCE603CD4D4D030D296402000602BD498B3E1159BF219BBE7D2F4B"
$"E71F4AB31300C13E3EFFE27A7A0401740D0A06322E323E42464C3C4C2C3D260A"
$"04322E323E424642350A04322E42354C2C3D260A04423542464C3C4C2C0A0338"
$"423C4D3C440A08335C395C41544F5C555C6051594D3E510A0422422252325A32"
$"490A04224232493C402D3A0A043249325A3C503C400A043E42C35DC27AC751BE"
$"F3493A0A04C35DC27A4E495840C751BEF30A05424BC08BC7B74E5A4E49C35DC2"
$"7A0A053E423E52C08BC7B7424BC35DC27A100A0D0105000A0001003010340117"
$"8400040A0101012010340A0801032010340A0B01042020210A010107000A0001"
$"00302C3401178400040A02010B000A0A010C000A090103202C340A06010A000A"
$"0C0109000A0001001001178400040A030101000A040102000A07010300"
};

View File

@ -19,7 +19,7 @@
#include <libinterface/BitmapUtils.h>
#include <AppConstants.h>
#include <Cardie.h>
#include <ChatOMatic.h>
#include <ChatProtocolMessages.h>
#include <Flags.h>
#include <Utils.h>
@ -85,7 +85,7 @@ status_t
IrcProtocol::UpdateSettings(BMessage* settings)
{
fNick = settings->FindString("nick");
fPartText = settings->GetString("part", "Cardie[0.1]: i've been liquified!");
fPartText = settings->GetString("part", "Chat-O-Matic[0.1]: i've been liquified!");
fUser = settings->FindString("ident");
fRealName = settings->FindString("real_name");
fServer = settings->FindString("server");
@ -1380,7 +1380,7 @@ IrcProtocol::_AccountTemplate()
part.AddString("name", "part");
part.AddString("description", B_TRANSLATE("Part message:"));
part.AddInt32("type", B_STRING_TYPE);
part.AddString("default", "Cardie[0.1]: i've been liquified!");
part.AddString("default", "Chat-O-Matic[0.1]: i've been liquified!");
settings.AddMessage("setting", &part);
return settings;

View File

@ -8,7 +8,7 @@
## file:///system/develop/documentation/makefile-engine.html
# The name of the binary.
NAME = cardie/irc
NAME = chat-o-matic/irc
# The type of binary, must be one of:
# APP: Application
@ -18,7 +18,7 @@ NAME = cardie/irc
TYPE = SHARED
# If you plan to use localization, specify the application's MIME signature.
APP_MIME_SIG = application/x-vnd.cardie.irc
APP_MIME_SIG = application/x-vnd.chat-o-matic.irc
# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are

View File

@ -7,7 +7,7 @@ resource app_version {
variety = B_APPV_ALPHA,
internal = 0,
short_info = "Cardie IRC add-on",
short_info = "Chat-O-Matic IRC add-on",
long_info = "©2021 Jaidyn Levesque"
};

View File

@ -8,7 +8,7 @@
## file:///system/develop/documentation/makefile-engine.html
# The name of the binary.
NAME = cardie/purple
NAME = chat-o-matic/purple
# The type of binary, must be one of:
# APP: Application
@ -18,7 +18,7 @@ NAME = cardie/purple
TYPE = APP
# If you plan to use localization, specify the application's MIME signature.
APP_MIME_SIG = application/x-vnd.cardie.purple
APP_MIME_SIG = application/x-vnd.chat-o-matic.purple
# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are
# so that Pe and Eddie can fill them in for you.

View File

@ -19,7 +19,7 @@
#ifndef _PURPLE_H
#define _PURPLE_H
#define PURPLE_SIGNATURE "application/x-vnd.cardie.purple"
#define PURPLE_SIGNATURE "application/x-vnd.chat-o-matic.purple"
#define PURPLE_ADDON "purple"
#endif // _PURPLE_H

View File

@ -35,7 +35,7 @@
#include <Path.h>
#include <Roster.h>
#include <Cardie.h>
#include <ChatOMatic.h>
#include <ChatProtocolMessages.h>
#include <Flags.h>

View File

@ -27,7 +27,7 @@
#include <Roster.h>
#include <TranslationUtils.h>
#include <Cardie.h>
#include <ChatOMatic.h>
#include <ChatProtocolMessages.h>
#include "Purple.h"

View File

@ -10,7 +10,7 @@ resource app_version {
variety = B_APPV_ALPHA,
internal = 0,
short_info = "Cardie libpurple add-on",
short_info = "Chat-O-Matic libpurple add-on",
long_info = "©2021 Jaidyn Levesque"
};

View File

@ -434,8 +434,8 @@ JabberHandler::UpdateSettings(BMessage* msg)
fClient->registerMessageSessionHandler(this);
fClient->registerMUCInvitationHandler(new InviteHandler(fClient, this));
fClient->rosterManager()->registerRosterListener(this);
fClient->disco()->setVersion("Cardie", VERSION);
fClient->disco()->setIdentity("client", "cardie");
fClient->disco()->setVersion("Chat-O-Matic", VERSION);
fClient->disco()->setIdentity("client", "chat-o-matic");
fClient->logInstance().registerLogHandler(gloox::LogLevelDebug,
gloox::LogAreaAll, this);
@ -1354,7 +1354,7 @@ JabberHandler::_SettingsTemplate(const char* username, bool serverOption)
resourceText.AddString("name", "resource");
resourceText.AddString("description", B_TRANSLATE("Resource:"));
resourceText.AddInt32("type", 'CSTR');
resourceText.AddString("default", "Cardie");
resourceText.AddString("default", "Chat-O-Matic");
resourceText.AddString("error", B_TRANSLATE("You can't add an account "
"without a resource.\nDon't worry― it can be whatever string you "
"want."));

View File

@ -8,7 +8,7 @@
## file:///system/develop/documentation/makefile-engine.html
# The name of the binary.
NAME = cardie/jabber
NAME = chat-o-matic/jabber
# The type of binary, must be one of:
# APP: Application
@ -18,7 +18,7 @@ NAME = cardie/jabber
TYPE = SHARED
# If you plan to use localization, specify the application's MIME signature.
APP_MIME_SIG = application/x-vnd.cardie.xmpp
APP_MIME_SIG = application/x-vnd.chat-o-matic.xmpp
# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are
# so that Pe and Eddie can fill them in for you.

View File

@ -7,7 +7,7 @@ resource app_version {
variety = B_APPV_ALPHA,
internal = 0,
short_info = "Cardie XMPP add-on",
short_info = "Chat-O-Matic XMPP add-on",
long_info = "©2010 Pier Luigi Fiorini"
};