| 1921 /************************************************************************** |
1921 /************************************************************************** |
| 1922 * GObject code for chat user |
1922 * GObject code for chat user |
| 1923 **************************************************************************/ |
1923 **************************************************************************/ |
| 1924 |
1924 |
| 1925 /* GObject Property names */ |
1925 /* GObject Property names */ |
| 1926 #define CB_PROP_CHAT_S "chat" |
1926 #define CU_PROP_CHAT_S "chat" |
| 1927 #define CB_PROP_NAME_S "name" |
1927 #define CU_PROP_NAME_S "name" |
| 1928 #define CB_PROP_ALIAS_S "alias" |
1928 #define CU_PROP_ALIAS_S "alias" |
| 1929 #define CB_PROP_BUDDY_S "buddy" |
1929 #define CU_PROP_BUDDY_S "buddy" |
| 1930 #define CB_PROP_FLAGS_S "flags" |
1930 #define CU_PROP_FLAGS_S "flags" |
| 1931 |
1931 |
| 1932 /* Set method for GObject properties */ |
1932 /* Set method for GObject properties */ |
| 1933 static void |
1933 static void |
| 1934 purple_chat_user_set_property(GObject *obj, guint param_id, const GValue *value, |
1934 purple_chat_user_set_property(GObject *obj, guint param_id, const GValue *value, |
| 1935 GParamSpec *pspec) |
1935 GParamSpec *pspec) |
| 1936 { |
1936 { |
| 1937 PurpleChatUser *cb = PURPLE_CHAT_USER(obj); |
1937 PurpleChatUser *cb = PURPLE_CHAT_USER(obj); |
| 1938 PurpleChatUserPrivate *priv = PURPLE_CHAT_USER_GET_PRIVATE(cb); |
1938 PurpleChatUserPrivate *priv = PURPLE_CHAT_USER_GET_PRIVATE(cb); |
| 1939 |
1939 |
| 1940 switch (param_id) { |
1940 switch (param_id) { |
| 1941 case CB_PROP_CHAT: |
1941 case CU_PROP_CHAT: |
| 1942 priv->chat = g_value_get_object(value); |
1942 priv->chat = g_value_get_object(value); |
| 1943 break; |
1943 break; |
| 1944 case CB_PROP_NAME: |
1944 case CU_PROP_NAME: |
| 1945 g_free(priv->name); |
1945 g_free(priv->name); |
| 1946 priv->name = g_strdup(g_value_get_string(value)); |
1946 priv->name = g_strdup(g_value_get_string(value)); |
| 1947 break; |
1947 break; |
| 1948 case CB_PROP_ALIAS: |
1948 case CU_PROP_ALIAS: |
| 1949 g_free(priv->alias); |
1949 g_free(priv->alias); |
| 1950 priv->alias = g_strdup(g_value_get_string(value)); |
1950 priv->alias = g_strdup(g_value_get_string(value)); |
| 1951 break; |
1951 break; |
| 1952 case CB_PROP_BUDDY: |
1952 case CU_PROP_BUDDY: |
| 1953 priv->buddy = g_value_get_boolean(value); |
1953 priv->buddy = g_value_get_boolean(value); |
| 1954 break; |
1954 break; |
| 1955 case CB_PROP_FLAGS: |
1955 case CU_PROP_FLAGS: |
| 1956 priv->flags = g_value_get_flags(value); |
1956 priv->flags = g_value_get_flags(value); |
| 1957 break; |
1957 break; |
| 1958 default: |
1958 default: |
| 1959 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
1959 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
| 1960 break; |
1960 break; |
| 1967 GParamSpec *pspec) |
1967 GParamSpec *pspec) |
| 1968 { |
1968 { |
| 1969 PurpleChatUser *cb = PURPLE_CHAT_USER(obj); |
1969 PurpleChatUser *cb = PURPLE_CHAT_USER(obj); |
| 1970 |
1970 |
| 1971 switch (param_id) { |
1971 switch (param_id) { |
| 1972 case CB_PROP_CHAT: |
1972 case CU_PROP_CHAT: |
| 1973 g_value_set_object(value, purple_chat_user_get_chat(cb)); |
1973 g_value_set_object(value, purple_chat_user_get_chat(cb)); |
| 1974 break; |
1974 break; |
| 1975 case CB_PROP_NAME: |
1975 case CU_PROP_NAME: |
| 1976 g_value_set_string(value, purple_chat_user_get_name(cb)); |
1976 g_value_set_string(value, purple_chat_user_get_name(cb)); |
| 1977 break; |
1977 break; |
| 1978 case CB_PROP_ALIAS: |
1978 case CU_PROP_ALIAS: |
| 1979 g_value_set_string(value, purple_chat_user_get_alias(cb)); |
1979 g_value_set_string(value, purple_chat_user_get_alias(cb)); |
| 1980 break; |
1980 break; |
| 1981 case CB_PROP_BUDDY: |
1981 case CU_PROP_BUDDY: |
| 1982 g_value_set_boolean(value, purple_chat_user_is_buddy(cb)); |
1982 g_value_set_boolean(value, purple_chat_user_is_buddy(cb)); |
| 1983 break; |
1983 break; |
| 1984 case CB_PROP_FLAGS: |
1984 case CU_PROP_FLAGS: |
| 1985 g_value_set_flags(value, purple_chat_user_get_flags(cb)); |
1985 g_value_set_flags(value, purple_chat_user_get_flags(cb)); |
| 1986 break; |
1986 break; |
| 1987 default: |
1987 default: |
| 1988 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
1988 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
| 1989 break; |
1989 break; |
| 2040 |
2040 |
| 2041 /* Setup properties */ |
2041 /* Setup properties */ |
| 2042 obj_class->get_property = purple_chat_user_get_property; |
2042 obj_class->get_property = purple_chat_user_get_property; |
| 2043 obj_class->set_property = purple_chat_user_set_property; |
2043 obj_class->set_property = purple_chat_user_set_property; |
| 2044 |
2044 |
| 2045 g_object_class_install_property(obj_class, CB_PROP_CHAT, |
2045 g_object_class_install_property(obj_class, CU_PROP_CHAT, |
| 2046 g_param_spec_object(CB_PROP_CHAT_S, _("Chat"), |
2046 g_param_spec_object(CU_PROP_CHAT_S, _("Chat"), |
| 2047 _("The chat the buddy belongs to."), PURPLE_TYPE_CHAT_CONVERSATION, |
2047 _("The chat the buddy belongs to."), PURPLE_TYPE_CHAT_CONVERSATION, |
| 2048 G_PARAM_READWRITE | G_PARAM_CONSTRUCT) |
2048 G_PARAM_READWRITE | G_PARAM_CONSTRUCT) |
| 2049 ); |
2049 ); |
| 2050 |
2050 |
| 2051 g_object_class_install_property(obj_class, CB_PROP_NAME, |
2051 g_object_class_install_property(obj_class, CU_PROP_NAME, |
| 2052 g_param_spec_string(CB_PROP_NAME_S, _("Name"), |
2052 g_param_spec_string(CU_PROP_NAME_S, _("Name"), |
| 2053 _("Name of the chat user."), NULL, |
2053 _("Name of the chat user."), NULL, |
| 2054 G_PARAM_READWRITE) |
2054 G_PARAM_READWRITE) |
| 2055 ); |
2055 ); |
| 2056 |
2056 |
| 2057 g_object_class_install_property(obj_class, CB_PROP_ALIAS, |
2057 g_object_class_install_property(obj_class, CU_PROP_ALIAS, |
| 2058 g_param_spec_string(CB_PROP_ALIAS_S, _("Alias"), |
2058 g_param_spec_string(CU_PROP_ALIAS_S, _("Alias"), |
| 2059 _("Alias of the chat user."), NULL, |
2059 _("Alias of the chat user."), NULL, |
| 2060 G_PARAM_READWRITE) |
2060 G_PARAM_READWRITE) |
| 2061 ); |
2061 ); |
| 2062 |
2062 |
| 2063 g_object_class_install_property(obj_class, CB_PROP_BUDDY, |
2063 g_object_class_install_property(obj_class, CU_PROP_BUDDY, |
| 2064 g_param_spec_boolean(CB_PROP_BUDDY_S, _("Is buddy"), |
2064 g_param_spec_boolean(CU_PROP_BUDDY_S, _("Is buddy"), |
| 2065 _("Whether the chat user is in the buddy list."), FALSE, |
2065 _("Whether the chat user is in the buddy list."), FALSE, |
| 2066 G_PARAM_READWRITE) |
2066 G_PARAM_READWRITE) |
| 2067 ); |
2067 ); |
| 2068 |
2068 |
| 2069 g_object_class_install_property(obj_class, CB_PROP_FLAGS, |
2069 g_object_class_install_property(obj_class, CU_PROP_FLAGS, |
| 2070 g_param_spec_flags(CB_PROP_FLAGS_S, _("Buddy flags"), |
2070 g_param_spec_flags(CU_PROP_FLAGS_S, _("Buddy flags"), |
| 2071 _("The flags for the chat user."), |
2071 _("The flags for the chat user."), |
| 2072 PURPLE_TYPE_CHAT_USER_FLAGS, |
2072 PURPLE_TYPE_CHAT_USER_FLAGS, |
| 2073 PURPLE_CHAT_USER_NONE, G_PARAM_READWRITE) |
2073 PURPLE_CHAT_USER_NONE, G_PARAM_READWRITE) |
| 2074 ); |
2074 ); |
| 2075 |
2075 |