diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/queries.c | 23 | ||||
-rw-r--r-- | src/core/queries.h | 2 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/core/queries.c b/src/core/queries.c index 92f791d5..ca8d78b4 100644 --- a/src/core/queries.c +++ b/src/core/queries.c @@ -116,12 +116,33 @@ QUERY_REC *query_find(SERVER_REC *server, const char *nick) (void *) nick); } +void query_change_nick(QUERY_REC *query, const char *nick) +{ + char *oldnick; + + g_return_if_fail(IS_QUERY(query)); + + oldnick = query->name; + query->name = g_strdup(nick); + signal_emit("query nick changed", 2, query, oldnick); + g_free(oldnick); +} + +void query_change_address(QUERY_REC *query, const char *address) +{ + g_return_if_fail(IS_QUERY(query)); + + g_free_not_null(query->address); + query->address = g_strdup(address); + signal_emit("query address changed", 1, query); +} + void query_change_server(QUERY_REC *query, SERVER_REC *server) { g_return_if_fail(IS_QUERY(query)); query->server = server; - signal_emit("query server changed", 2, query, server); + signal_emit("query server changed", 1, query); } void queries_init(void) diff --git a/src/core/queries.h b/src/core/queries.h index 1709b064..95fdfdc2 100644 --- a/src/core/queries.h +++ b/src/core/queries.h @@ -28,6 +28,8 @@ QUERY_REC *query_create(int chat_type, SERVER_REC *server, /* Find query by name, if `server' is NULL, search from all servers */ QUERY_REC *query_find(SERVER_REC *server, const char *nick); +void query_change_nick(QUERY_REC *query, const char *nick); +void query_change_address(QUERY_REC *query, const char *address); void query_change_server(QUERY_REC *query, SERVER_REC *server); void queries_init(void); |