00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __CHAT_WINDOW_H__
00029 #define __CHAT_WINDOW_H__
00030
00031 #include <gtk/gtk.h>
00032 #include <stdio.h>
00033 #include <time.h>
00034
00035 #include "contact.h"
00036 #include "log_window.h"
00037 #include "service.h"
00038
00039 typedef struct _chat_window
00040 {
00041 GtkWidget * window;
00042 GtkWidget * chat;
00043 GtkWidget * entry;
00044 GtkWidget *smiley_button;
00045 GtkWidget *smiley_window;
00046 GtkWidget *sound_button;
00047 GtkWidget *allow_button;
00048 GtkWidget *status_label;
00049
00050 gboolean sound_enabled;
00051 gboolean send_enabled;
00052 gboolean first_enabled;
00053 gboolean receive_enabled;
00054
00055 struct contact * contact;
00056 eb_account * perfered;
00057
00058 eb_local_account * local_user;
00059 FILE * fp;
00060
00061 time_t next_typing_send;
00062 GList * history;
00063 GList * hist_pos;
00064 gint this_msg_in_history;
00065
00066
00067
00068 gint away_msg_sent;
00069
00070
00071 log_window* lw;
00072
00074 GtkWidget* notebook;
00075 GtkWidget* notebook_child;
00076 GtkWidget* talk_pixmap;
00077 } chat_window;
00078
00079
00080 typedef struct _chat_window_account {
00081 chat_window *cw;
00082 gpointer data;
00083 } chat_window_account;
00084
00085 chat_window * eb_chat_window_new( eb_local_account * local,
00086 struct contact * remote );
00087
00088 void eb_chat_window_display_remote_message( eb_local_account * account,
00089 eb_account * remote,
00090 struct service * serv,
00091 gchar * message);
00092
00093 void eb_chat_window_display_status( eb_account * remote,
00094 gchar * message );
00095
00096 void eb_chat_window_display_contact( struct contact * remote_contact );
00097 void eb_chat_window_display_account( eb_account * remote_account );
00098 void eb_chat_window_display_error( eb_account * remote, gchar * message );
00099 void eb_log_status_changed(eb_account *ea, gchar *status );
00100 void eb_log_message( FILE *log_file, gchar buff[], gchar *message );
00101 void eb_chat_window_do_timestamp( struct contact * c, gboolean online );
00102 void eb_restore_last_conv(gchar *file_name, chat_window* cw);
00103 void send_message(GtkWidget *widget, gpointer d);
00104
00105 #if defined(__MINGW32__) && defined(__IN_PLUGIN__)
00106 __declspec(dllimport) GList *outgoing_message_filters;
00107 __declspec(dllimport) GList *incoming_message_filters;
00108 #else
00109 extern GList *outgoing_message_filters;
00110 extern GList *incoming_message_filters;
00111 #endif
00112
00113 #endif