[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ayttm-commits] CVS: ayttm/src chat_room.c,1.48,1.49 chat_window.c,1.53
From: |
Colin Leroy <address@hidden> |
Subject: |
[Ayttm-commits] CVS: ayttm/src chat_room.c,1.48,1.49 chat_window.c,1.53,1.54 log_window.c,1.19,1.20 log_window.h,1.7,1.8 |
Date: |
Tue, 04 Mar 2003 11:47:53 -0500 |
Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv24786/src
Modified Files:
chat_room.c chat_window.c log_window.c log_window.h
Log Message:
Chatroom logging :)
Index: chat_room.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/chat_room.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- chat_room.c 4 Mar 2003 15:48:11 -0000 1.48
+++ chat_room.c 4 Mar 2003 16:47:51 -0000 1.49
@@ -22,6 +22,7 @@
#include <string.h>
#include <stdlib.h>
#include <gdk/gdkkeysyms.h>
+#include <time.h>
#include "globals.h"
#include "gtk/gtk_eb_html.h"
@@ -580,6 +581,34 @@
return find_chat_room_buddy(room, user) != NULL;
}
+static void eb_chat_room_private_log_reference(eb_chat_room *room, char
*handle)
+{
+ struct contact *con = find_contact_by_handle(handle);
+ char buff[1024];
+ log_info *li = g_new0(log_info, 1);
+
+ if (con == NULL)
+ return;
+
+ if (!strcmp(handle, room->local_user->handle))
+ return;
+
+ make_safe_filename(buff, con->nick, con->group->name);
+ li->log_started = 0;
+ li->fp = fopen(buff, "a");
+ li->filename = NULL; /* don't care */
+
+ memset(&buff, 0, 1024);
+
+ g_snprintf(buff, 1024, "You had a <a href=\"log://%s\">group chat with
%s</a>.\n",
+ room->loginfo->filename,
+ handle);
+
+ eb_log_message(li, "", buff);
+ eb_log_close(li);
+
+}
+
void eb_chat_room_buddy_arrive( eb_chat_room * room, gchar * alias, gchar *
handle )
{
eb_chat_room_buddy * ecrb = NULL;
@@ -596,6 +625,9 @@
buf = g_strdup_printf(_("<i>%s (%s) has joined the chat</i>"), alias,
handle);
eb_chat_room_show_3rdperson(room, buf);
+
+ eb_chat_room_private_log_reference(room, handle);
+
g_free(buf);
room->fellows = l_list_append(room->fellows, ecrb);
@@ -667,6 +699,7 @@
{
gtk_eb_html_add(EXT_GTK_TEXT(chat_room->chat), message,0,0,0 );
gtk_eb_html_add(EXT_GTK_TEXT(chat_room->chat), "\n",0,0,0 );
+ eb_log_message(chat_room->loginfo, "", message);
}
void eb_chat_room_show_message( eb_chat_room * chat_room,
@@ -746,6 +779,8 @@
iGetLocalPref("do_ignore_back"),
iGetLocalPref("do_ignore_fore"), iGetLocalPref("do_ignore_font"));
gtk_eb_html_add(EXT_GTK_TEXT(chat_room->chat), "\n",0,0,0 );
+ eb_log_message(chat_room->loginfo, buff, link_message);
+
g_free(link_message);
if(chat_room->sound_enabled
@@ -794,9 +829,11 @@
GtkWidget * separator;
GtkWidget * entry_box;
gboolean enableSoundButton = FALSE;
+ time_t mytime = time(NULL);
char * room_title = NULL;
- gchar buff[2048];
-
+ char buff[2048];
+ char tmpnam[128];
+
/*if we are already here, just leave*/
if(chat_room->connected)
return;
@@ -1074,6 +1111,14 @@
RUN_SERVICE(chat_room->local_user)->join_chat_room(chat_room);
gtk_widget_grab_focus(chat_room->entry);
+ g_snprintf(tmpnam, 128, "cr_log%lu%d", mytime, total_rooms);
+ make_safe_filename(buff, tmpnam, NULL);
+
+ chat_room->loginfo = g_new0(log_info, 1);
+ chat_room->loginfo->filename = strdup(buff);
+ chat_room->loginfo->log_started = 0;
+ if ((chat_room->loginfo->fp = fopen(buff, "a")) == NULL)
+ perror(buff);
}
static LList * get_group_contacts(gchar *group, eb_chat_room * room)
Index: chat_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/chat_window.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- chat_window.c 4 Mar 2003 15:48:11 -0000 1.53
+++ chat_window.c 4 Mar 2003 16:47:51 -0000 1.54
@@ -2090,6 +2090,8 @@
make_safe_filename(buff, remote->nick, remote->group->name);
cw->loginfo = g_new0(log_info, 1);
+ cw->loginfo->filename = strdup(buff);
+ cw->loginfo->log_started = 0;
if ((cw->loginfo->fp = fopen(buff, "a")) == NULL)
perror(buff);
Index: log_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/log_window.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- log_window.c 4 Mar 2003 15:48:11 -0000 1.19
+++ log_window.c 4 Mar 2003 16:47:51 -0000 1.20
@@ -520,7 +520,7 @@
fflush(loginfo->fp);
loginfo->log_started = 1;
}
- fprintf(loginfo->fp, "%s %s %s %s\n",
+ fprintf(loginfo->fp, "%s%s %s%s\n",
(stripHTML ? "" : "<P>"), my_name, my_message, (stripHTML ? "" :
"</P>"));
fflush(loginfo->fp);
@@ -547,5 +547,10 @@
if (loginfo && loginfo->fp != NULL ) {
fclose(loginfo->fp);
loginfo->fp = NULL;
+ }
+
+ if (loginfo && loginfo->filename != NULL ) {
+ free(loginfo->filename);
+ loginfo->filename = NULL;
}
}
Index: log_window.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/log_window.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- log_window.h 4 Mar 2003 15:48:11 -0000 1.7
+++ log_window.h 4 Mar 2003 16:47:51 -0000 1.8
@@ -52,6 +52,7 @@
typedef struct _log_info
{
FILE *fp;
+ char *filename;
int log_started;
} log_info;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/src chat_room.c,1.48,1.49 chat_window.c,1.53,1.54 log_window.c,1.19,1.20 log_window.h,1.7,1.8,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.309,1.310 configure.in,1.304,1.305
- Next by Date:
[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.25,1.26
- Previous by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.309,1.310 configure.in,1.304,1.305
- Next by thread:
[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.25,1.26
- Index(es):