[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ayttm-commits] CVS: ayttm/src browser.c,1.15,1.16 log_window.c,1.17,1.1
From: |
Colin Leroy <address@hidden> |
Subject: |
[Ayttm-commits] CVS: ayttm/src browser.c,1.15,1.16 log_window.c,1.17,1.18 log_window.h,1.5,1.6 smileys.c,1.17,1.18 util.c,1.50,1.51 |
Date: |
Tue, 04 Mar 2003 10:12:30 -0500 |
Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv2240/src
Modified Files:
browser.c log_window.c log_window.h smileys.c util.c
Log Message:
Add log:///file "protocol", which open a log_window with the
corresponding file (will soon be useful)
Index: browser.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/browser.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- browser.c 29 Jan 2003 19:19:22 -0000 1.15
+++ browser.c 4 Mar 2003 15:12:27 -0000 1.16
@@ -53,7 +53,9 @@
#ifndef _WIN32
-
+
+#include "log_window.h"
+
void open_url(void *w, char *url) {
char *browser = NULL;
char command[1281];
@@ -61,6 +63,15 @@
char esc_url[1024];
int i=0,j=1;
+ if (!strncmp("log://", url, 6)) {
+ /*internal handling*/
+ log_window *lw = NULL;
+ lw = eb_log_window_new(NULL);
+ lw->filename = strdup(url+6);
+ eb_log_load_information(lw);
+ return;
+ }
+
esc_url[0]='"'; j=1;
if (url[0]=='\'' || url[0]=='"')
i++;
@@ -116,8 +127,19 @@
#else
void open_url(GdkWindow *w, char *url) {
+
if (!w)
return;
+
+ if (!strncmp("log://", url, 6)) {
+ /*internal handling*/
+ log_window *lw = NULL;
+ lw = eb_log_window_new(NULL);
+ lw->filename = strdup(url+6);
+ eb_log_load_information(lw);
+ return;
+ }
+
ShellExecute(GDK_DRAWABLE_XID(w),"open",url,NULL,"C:\\",0);
}
Index: log_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/log_window.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- log_window.c 29 Jan 2003 19:19:22 -0000 1.17
+++ log_window.c 4 Mar 2003 15:12:27 -0000 1.18
@@ -43,6 +43,8 @@
#include "pixmaps/cancel.xpm"
+static void eb_log_show(log_window *lw);
+
int current_row=-1, last_pos=-1;
/* module private functions */
static void free_string_list(gpointer data, gpointer user_data)
@@ -103,7 +105,7 @@
}
-static void load_log_information(log_window* lw)
+void eb_log_load_information(log_window* lw)
{
gchar name_buffer[NAME_MAX];
gchar read_buffer[4096];
@@ -117,8 +119,13 @@
gtk_clist_freeze(GTK_CLIST(lw->date_list)); /* freeze, thaw? So corny. */
- make_safe_filename(name_buffer, lw->remote->nick, lw->remote->group->name);
-
+ if (lw->remote)
+ make_safe_filename(name_buffer, lw->remote->nick,
lw->remote->group->name);
+ else if (lw->filename)
+ strcpy(name_buffer, lw->filename);
+ else
+ return;
+
if ( (fp = fopen(name_buffer, "r")) != NULL) {
gl = g_slist_alloc();
@@ -184,6 +191,8 @@
lw->entries = gl;
gtk_clist_thaw(GTK_CLIST(lw->date_list));
+
+ eb_log_show(lw);
}
@@ -194,7 +203,12 @@
g_slist_foreach(lw->entries, (GFunc)free_gs_list, NULL);
- lw->remote->logwindow = NULL;
+ if (lw->remote)
+ lw->remote->logwindow = NULL;
+
+ if (lw->filename)
+ free(lw->filename);
+
lw->window = NULL;
g_free(lw);
}
@@ -339,11 +353,18 @@
GtkWidget* search_label;
GtkWidget* search_entry;
lw->remote = rc;
- rc->logwindow = lw;
+ lw->filename = NULL;
+
+ if (rc)
+ rc->logwindow = lw;
lw->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(lw->window), GTK_WIN_POS_MOUSE);
/* show who the conversation is with */
- sprintf(buffer, _("Past conversations with %s"), rc->nick);
+ if (rc)
+ sprintf(buffer, _("Past conversations with %s"), rc->nick);
+ else
+ sprintf(buffer, _("Past conversation"));
+
gtk_window_set_title(GTK_WINDOW(lw->window), buffer);
gtk_container_set_border_width(GTK_CONTAINER(lw->window), 5);
@@ -414,21 +435,26 @@
gtk_signal_connect(GTK_OBJECT(lw->date_list), "select-row",
GTK_SIGNAL_FUNC(select_date_callback), lw);
- load_log_information(lw);
+ gtk_widget_show(GTK_WIDGET(hbox));
+ gtk_widget_show(GTK_WIDGET(vbox));
+
+ if (rc)
+ eb_log_load_information(lw);
+ return lw;
+}
+
+static void eb_log_show(log_window *lw) {
+
/* show everything... can you get arrested for baring it all? */
gtk_widget_show(GTK_WIDGET(lw->date_list));
gtk_widget_show(GTK_WIDGET(lw->html_display));
gtk_widget_show(GTK_WIDGET(lw->date_scroller));
gtk_widget_show(GTK_WIDGET(lw->date_html_hbox));
- gtk_widget_show(GTK_WIDGET(hbox));
- gtk_widget_show(GTK_WIDGET(vbox));
gtk_widget_show(GTK_WIDGET(lw->window));
gtk_clist_select_row(GTK_CLIST(lw->date_list), 0, 0);
-
- return lw;
}
void log_parse_and_add(char *buff, void *text)
Index: log_window.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/log_window.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- log_window.h 29 Jan 2003 19:19:22 -0000 1.5
+++ log_window.h 4 Mar 2003 15:12:27 -0000 1.6
@@ -44,10 +44,13 @@
GtkWidget* close_button;
struct contact* remote;
+ char *filename;
GSList* entries; /* list of gslists */
} log_window;
//log_window* eb_log_window_new(struct _chat_window* cw);
log_window* eb_log_window_new(struct contact* rc);
void log_parse_and_add(char *buff, void *text);
+void eb_log_load_information(log_window* lw);
+
#endif
Index: smileys.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/smileys.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- smileys.c 7 Feb 2003 09:00:17 -0000 1.17
+++ smileys.c 4 Mar 2003 15:12:27 -0000 1.18
@@ -85,6 +85,7 @@
"https://",
"ftp://",
"mailto:/",
+ "log://",
NULL
};
Index: util.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/util.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- util.c 4 Mar 2003 14:17:24 -0000 1.50
+++ util.c 4 Mar 2003 15:12:27 -0000 1.51
@@ -249,6 +249,8 @@
if(!strncasecmp( token, "ftp://", 6))
return TOKEN_FTP;
+ if(!strncasecmp( token, "log://", 6))
+ return TOKEN_CUSTOM;
if(!strncasecmp( token, "mailto:", 7))
return TOKEN_EMAIL;
if(!strncasecmp( token, "www.", 4) && is_valid_domain(token))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/src browser.c,1.15,1.16 log_window.c,1.17,1.18 log_window.h,1.5,1.6 smileys.c,1.17,1.18 util.c,1.50,1.51,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.307,1.308 configure.in,1.302,1.303
- Next by Date:
[Ayttm-commits] CVS: ayttm/src chat_room.c,1.47,1.48 chat_room.h,1.13,1.14 chat_window.c,1.52,1.53 chat_window.h,1.11,1.12 log_window.c,1.18,1.19 log_window.h,1.6,1.7
- Previous by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.307,1.308 configure.in,1.302,1.303
- Next by thread:
[Ayttm-commits] CVS: ayttm/src chat_room.c,1.47,1.48 chat_room.h,1.13,1.14 chat_window.c,1.52,1.53 chat_window.h,1.11,1.12 log_window.c,1.18,1.19 log_window.h,1.6,1.7
- Index(es):