pidgin/pidgin

Parents 3fdc1eecf292
Children 4cf487837afc
Change PurpleMessage:id to a string and add author-name-color to the property getter/setter.

This is in conflict with the TalkatuMessage:id property which will be addressed in another review request but Pidgin seems to run fine right now with this conflict.

Testing Done:
Compiled and ran locally against the history-api branch.

Reviewed at https://reviews.imfreedom.org/r/876/
--- a/libpurple/purplemessage.c Sat Aug 07 02:08:56 2021 -0500
+++ b/libpurple/purplemessage.c Sat Aug 07 04:03:59 2021 -0500
@@ -37,7 +37,7 @@
struct _PurpleMessage {
GObject parent;
- guint id;
+ gchar *id;
gchar *author;
gchar *author_name_color;
gchar *author_alias;
@@ -73,8 +73,9 @@
* Helpers
*****************************************************************************/
static void
-purple_message_set_id(PurpleMessage *message, guint id) {
- message->id = id;
+purple_message_set_id(PurpleMessage *message, const gchar *id) {
+ g_free(message->id);
+ message->id = g_strdup(id);
g_object_notify_by_pspec(G_OBJECT(message), properties[PROP_ID]);
}
@@ -98,7 +99,7 @@
switch(param_id) {
case PROP_ID:
- g_value_set_uint(value, purple_message_get_id(message));
+ g_value_set_string(value, purple_message_get_id(message));
break;
case PROP_AUTHOR:
g_value_set_string(value, purple_message_get_author(message));
@@ -106,6 +107,10 @@
case PROP_AUTHOR_ALIAS:
g_value_set_string(value, purple_message_get_author_alias(message));
break;
+ case PROP_AUTHOR_NAME_COLOR:
+ g_value_set_string(value,
+ purple_message_get_author_name_color(message));
+ break;
case PROP_RECIPIENT:
g_value_set_string(value, purple_message_get_recipient(message));
break;
@@ -135,7 +140,7 @@
switch(param_id) {
case PROP_ID:
- purple_message_set_id(message, g_value_get_uint(value));
+ purple_message_set_id(message, g_value_get_string(value));
break;
case PROP_AUTHOR:
purple_message_set_author(message, g_value_get_string(value));
@@ -143,6 +148,10 @@
case PROP_AUTHOR_ALIAS:
purple_message_set_author_alias(message, g_value_get_string(value));
break;
+ case PROP_AUTHOR_NAME_COLOR:
+ purple_message_set_author_name_color(message,
+ g_value_get_string(value));
+ break;
case PROP_RECIPIENT:
purple_message_set_recipient(message, g_value_get_string(value));
break;
@@ -168,6 +177,7 @@
purple_message_finalize(GObject *obj) {
PurpleMessage *message = PURPLE_MESSAGE(obj);
+ g_free(message->id);
g_free(message->author);
g_free(message->author_alias);
g_free(message->recipient);
@@ -203,11 +213,11 @@
*
* Since: 3.0.0
*/
- properties[PROP_ID] = g_param_spec_uint(
+ properties[PROP_ID] = g_param_spec_string(
"id", "ID",
"The session-unique message id",
- 0, G_MAXUINT, 0,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
/**
* PurpleMessage::author:
@@ -399,7 +409,7 @@
return message;
}
-guint
+const gchar *
purple_message_get_id(PurpleMessage *message) {
g_return_val_if_fail(PURPLE_IS_MESSAGE(message), 0);
--- a/libpurple/purplemessage.h Sat Aug 07 02:08:56 2021 -0500
+++ b/libpurple/purplemessage.h Sat Aug 07 04:03:59 2021 -0500
@@ -186,7 +186,7 @@
*
* Since: 3.0.0
*/
-guint purple_message_get_id(PurpleMessage *message);
+const gchar *purple_message_get_id(PurpleMessage *message);
/**
* purple_message_get_author:
--- a/pidgin/pidginmessage.c Sat Aug 07 02:08:56 2021 -0500
+++ b/pidgin/pidginmessage.c Sat Aug 07 04:03:59 2021 -0500
@@ -212,7 +212,7 @@
g_value_set_object(value, message->message);
break;
case PROP_ID:
- g_value_set_uint(value, purple_message_get_id(message->message));
+ g_value_set_string(value, purple_message_get_id(message->message));
break;
case PROP_CONTENT_TYPE:
g_value_set_enum(value, TALKATU_CONTENT_TYPE_PLAIN);