GSList *queries;
+static const char *query_get_target(WI_ITEM_REC *item)
+{
+ return ((QUERY_REC *) item)->name;
+}
+
void query_init(QUERY_REC *query, int automatic)
{
g_return_if_fail(query != NULL);
MODULE_DATA_INIT(query);
query->type = module_get_uniq_id_str("WINDOW ITEM TYPE", "QUERY");
+ query->destroy = (void (*) (WI_ITEM_REC *)) query_destroy;
+ query->get_target = query_get_target;
+ query->createtime = time(NULL);
+ query->last_unread_msg = time(NULL);
+ query->visible_name = g_strdup(query->name);
+
if (query->server_tag != NULL) {
query->server = server_find_tag(query->server_tag);
if (query->server != NULL) {
g_free_not_null(query->hilight_color);
g_free_not_null(query->server_tag);
g_free_not_null(query->address);
+ g_free(query->visible_name);
g_free(query->name);
+
+ query->type = 0;
g_free(query);
}
oldnick = query->name;
query->name = g_strdup(nick);
+
+ g_free(query->visible_name);
+ query->visible_name = g_strdup(nick);
+
signal_emit("query nick changed", 2, query, oldnick);
+ signal_emit("window item name changed", 1, query);
g_free(oldnick);
}
void queries_deinit(void)
{
- module_uniq_destroy("QUERY");
}