| 575 break; |
578 break; |
| 576 case PROP_DRAFTING: |
579 case PROP_DRAFTING: |
| 577 purple_conversation_set_drafting(conversation, |
580 purple_conversation_set_drafting(conversation, |
| 578 g_value_get_boolean(value)); |
581 g_value_get_boolean(value)); |
| 579 break; |
582 break; |
| |
583 case PROP_ERROR: |
| |
584 purple_conversation_set_error(conversation, g_value_get_boxed(value)); |
| |
585 break; |
| 580 default: |
586 default: |
| 581 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
587 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
| 582 break; |
588 break; |
| 583 } |
589 } |
| 584 } |
590 } |
| 693 purple_conversation_get_logging(conversation)); |
699 purple_conversation_get_logging(conversation)); |
| 694 break; |
700 break; |
| 695 case PROP_DRAFTING: |
701 case PROP_DRAFTING: |
| 696 g_value_set_boolean(value, |
702 g_value_set_boolean(value, |
| 697 purple_conversation_get_drafting(conversation)); |
703 purple_conversation_get_drafting(conversation)); |
| |
704 break; |
| |
705 case PROP_ERROR: |
| |
706 g_value_set_boxed(value, purple_conversation_get_error(conversation)); |
| 698 break; |
707 break; |
| 699 default: |
708 default: |
| 700 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
709 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
| 701 break; |
710 break; |
| 702 } |
711 } |
| 774 g_clear_object(&conversation->messages); |
783 g_clear_object(&conversation->messages); |
| 775 |
784 |
| 776 g_clear_handle_id(&conversation->typing_state_source, g_source_remove); |
785 g_clear_handle_id(&conversation->typing_state_source, g_source_remove); |
| 777 g_clear_pointer(&conversation->last_typing, g_date_time_unref); |
786 g_clear_pointer(&conversation->last_typing, g_date_time_unref); |
| 778 |
787 |
| |
788 g_clear_error(&conversation->error); |
| |
789 |
| 779 G_OBJECT_CLASS(purple_conversation_parent_class)->finalize(object); |
790 G_OBJECT_CLASS(purple_conversation_parent_class)->finalize(object); |
| 780 } |
791 } |
| 781 |
792 |
| 782 static void |
793 static void |
| 783 purple_conversation_class_init(PurpleConversationClass *klass) { |
794 purple_conversation_class_init(PurpleConversationClass *klass) { |
| 1235 * Since: 3.0 |
1246 * Since: 3.0 |
| 1236 */ |
1247 */ |
| 1237 properties[PROP_DRAFTING] = g_param_spec_boolean( |
1248 properties[PROP_DRAFTING] = g_param_spec_boolean( |
| 1238 "drafting", NULL, NULL, |
1249 "drafting", NULL, NULL, |
| 1239 FALSE, |
1250 FALSE, |
| |
1251 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
| |
1252 |
| |
1253 /** |
| |
1254 * PurpleConversation:error: |
| |
1255 * |
| |
1256 * An error that was encountered in this conversation. For example, this could |
| |
1257 * be a channel connection error or a kick message. |
| |
1258 * |
| |
1259 * Since: 3.0 |
| |
1260 */ |
| |
1261 properties[PROP_ERROR] = g_param_spec_boxed( |
| |
1262 "error", NULL, NULL, |
| |
1263 G_TYPE_ERROR, |
| 1240 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
1264 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
| 1241 |
1265 |
| 1242 g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
1266 g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
| 1243 |
1267 |
| 1244 /** |
1268 /** |
| 2065 |
2089 |
| 2066 g_object_notify_by_pspec(G_OBJECT(conversation), |
2090 g_object_notify_by_pspec(G_OBJECT(conversation), |
| 2067 properties[PROP_DRAFTING]); |
2091 properties[PROP_DRAFTING]); |
| 2068 } |
2092 } |
| 2069 } |
2093 } |
| |
2094 |
| |
2095 GError * |
| |
2096 purple_conversation_get_error(PurpleConversation *conversation) { |
| |
2097 g_return_val_if_fail(PURPLE_IS_CONVERSATION(conversation), NULL); |
| |
2098 |
| |
2099 return conversation->error; |
| |
2100 } |
| |
2101 |
| |
2102 void |
| |
2103 purple_conversation_set_error(PurpleConversation *conversation, |
| |
2104 GError *error) |
| |
2105 { |
| |
2106 g_return_if_fail(PURPLE_IS_CONVERSATION(conversation)); |
| |
2107 |
| |
2108 g_clear_error(&conversation->error); |
| |
2109 if(error != NULL) { |
| |
2110 conversation->error = g_error_copy(error); |
| |
2111 } |
| |
2112 |
| |
2113 g_object_notify_by_pspec(G_OBJECT(conversation), properties[PROP_ERROR]); |
| |
2114 } |