# HG changeset patch # User Eric Warmenhoven # Date 1001640302 0 # Node ID cacaf7ace3a5c50f53d4a9588c6310aeadbe19c9 # Parent dfaf5d9d433eeca24dc1c2646d18c2e3986977fd [gaim-migrate @ 2392] reorganization of some functions. committer: Tailor Script diff -r dfaf5d9d433e -r cacaf7ace3a5 src/aim.c --- a/src/aim.c Thu Sep 27 23:58:48 2001 +0000 +++ b/src/aim.c Fri Sep 28 01:25:02 2001 +0000 @@ -413,6 +413,23 @@ } #endif +static void set_first_user(char *name) +{ + struct aim_user *u; + + u = find_user(name, -1); + + if (!u) { /* new user */ + u = g_new0(struct aim_user, 1); + g_snprintf(u->username, sizeof(u->username), "%s", name); + u->protocol = DEFAULT_PROTO; + aim_users = g_list_prepend(aim_users, u); + } else { /* user already exists */ + aim_users = g_list_remove(aim_users, u); + aim_users = g_list_prepend(aim_users, u); + } + save_prefs(); +} int main(int argc, char *argv[]) { diff -r dfaf5d9d433e -r cacaf7ace3a5 src/conversation.c --- a/src/conversation.c Thu Sep 27 23:58:48 2001 +0000 +++ b/src/conversation.c Fri Sep 28 01:25:02 2001 +0000 @@ -1823,6 +1823,38 @@ update_checkbox(cnv); } +int set_dispstyle(int chat) +{ + int dispstyle; + + if (chat) { + switch (chat_options & (OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM)) { + case OPT_CHAT_BUTTON_TEXT: + dispstyle = 1; + break; + case OPT_CHAT_BUTTON_XPM: + dispstyle = 0; + break; + default: /* both or neither */ + dispstyle = 2; + break; + } + } else { + switch (im_options & (OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM)) { + case OPT_IM_BUTTON_TEXT: + dispstyle = 1; + break; + case OPT_IM_BUTTON_XPM: + dispstyle = 0; + break; + default: /* both or neither */ + dispstyle = 2; + break; + } + } + return dispstyle; +} + void update_convo_add_button(struct conversation *c) { int dispstyle = set_dispstyle(0); diff -r dfaf5d9d433e -r cacaf7ace3a5 src/convo.h --- a/src/convo.h Thu Sep 27 23:58:48 2001 +0000 +++ b/src/convo.h Fri Sep 28 01:25:02 2001 +0000 @@ -48,6 +48,7 @@ extern void add_callback(GtkWidget *, struct conversation *); /* now both */ +extern int set_dispstyle (int); extern void info_callback(GtkWidget *, struct conversation *); extern void do_bold(GtkWidget *, GtkWidget *); extern void do_italic(GtkWidget *, GtkWidget *); diff -r dfaf5d9d433e -r cacaf7ace3a5 src/dialogs.c --- a/src/dialogs.c Thu Sep 27 23:58:48 2001 +0000 +++ b/src/dialogs.c Fri Sep 28 01:25:02 2001 +0000 @@ -68,6 +68,8 @@ #include "pixmaps/wink.xpm" #include "pixmaps/yell.xpm" +#include "pixmaps/aimicon.xpm" + #include "pixmaps/aol_icon.xpm" #include "pixmaps/free_icon.xpm" #include "pixmaps/dt_icon.xpm" @@ -4085,3 +4087,128 @@ } #endif /* USE_PERL */ + +static GdkPixmap *icon_pm = NULL; +static GdkBitmap *icon_bm = NULL; + +void aol_icon(GdkWindow *w) +{ +#ifndef _WIN32 + if (icon_pm == NULL) { + icon_pm = gdk_pixmap_create_from_xpm_d(w, &icon_bm, NULL, (gchar **)aimicon_xpm); + } + gdk_window_set_icon(w, NULL, icon_pm, icon_bm); + if (mainwindow) + gdk_window_set_group(w, mainwindow->window); +#endif +} + +GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm) +{ + GtkWidget *button; + GtkWidget *button_box, *button_box_2, *button_box_3; + GtkWidget *label; + GdkBitmap *mask; + GdkPixmap *pm; + GtkWidget *pixmap; + + button = gtk_button_new(); + if (misc_options & OPT_MISC_COOL_LOOK) + gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); + + button_box = gtk_hbox_new(FALSE, 5); + gtk_container_add(GTK_CONTAINER(button), button_box); + + button_box_2 = gtk_hbox_new(FALSE, 0); + button_box_3 = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(button_box), button_box_3, TRUE, TRUE, 0); + pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); + pixmap = gtk_pixmap_new(pm, mask); + gtk_box_pack_end(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); + + if (text) { + label = gtk_label_new(text); + gtk_box_pack_start(GTK_BOX(button_box_3), label, FALSE, FALSE, 2); + gtk_widget_show(label); + } + + gtk_widget_show(pixmap); + gtk_widget_show(button_box_2); + gtk_widget_show(button_box_3); + gtk_widget_show(button_box); + +/* this causes clipping on lots of buttons with long text */ +/* gtk_widget_set_usize(button, 75, 30);*/ + gtk_widget_show(button); + gdk_pixmap_unref(pm); + gdk_bitmap_unref(mask); + + return button; +} + +static GtkTooltips *button_tips = NULL; +GtkWidget *picture_button2(GtkWidget *window, char *text, char **xpm, short dispstyle) +{ + GtkWidget *button; + GtkWidget *button_box, *button_box_2; + GdkBitmap *mask; + GdkPixmap *pm; + GtkWidget *pixmap; + GtkWidget *label; + + if (!button_tips) + button_tips = gtk_tooltips_new(); + button = gtk_button_new(); + if (misc_options & OPT_MISC_COOL_LOOK) + gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); + + button_box = gtk_hbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(button), button_box); + + button_box_2 = gtk_vbox_new(FALSE, 0); + + gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); + gtk_widget_show(button_box_2); + gtk_widget_show(button_box); + if (dispstyle == 2 || dispstyle == 0) { + pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); + pixmap = gtk_pixmap_new(pm, mask); + gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); + + gtk_widget_show(pixmap); + + gdk_pixmap_unref(pm); + gdk_bitmap_unref(mask); + } + + if (dispstyle == 2 || dispstyle == 1) { + label = gtk_label_new(text); + gtk_widget_show(label); + gtk_box_pack_end(GTK_BOX(button_box_2), label, FALSE, FALSE, 0); + } + + gtk_tooltips_set_tip(button_tips, button, text, "Gaim"); + gtk_widget_show(button); + return button; +} + +int file_is_dir(const char *path, GtkWidget *w) +{ + struct stat st; + char *name; + + if (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) { + /* append a / if needed */ + if (path[strlen(path) - 1] != '/') { + name = g_strconcat(path, "/", NULL); + } else { + name = g_strdup(path); + } + gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), name); + g_free(name); + return 1; + } + + return 0; +} diff -r dfaf5d9d433e -r cacaf7ace3a5 src/gaim.h --- a/src/gaim.h Thu Sep 27 23:58:48 2001 +0000 +++ b/src/gaim.h Fri Sep 28 01:25:02 2001 +0000 @@ -617,7 +617,6 @@ /* Functions in util.c */ extern char *normalize(const char *); -extern char *escape_text2(const char *); extern char *tobase64(const char *); extern void frombase64(const char *, char **, int *); extern gint clean_pid(gpointer); @@ -635,9 +634,7 @@ extern void translate_lst (FILE *, char *); extern void translate_blt (FILE *, char *); extern char *stylize(gchar *, int); -extern int set_dispstyle (int); extern void show_usage (int, char *); -extern void set_first_user (char *); extern int do_auto_login (char *); extern int file_is_dir (const char *, GtkWidget *); extern char *gaim_user_dir(); diff -r dfaf5d9d433e -r cacaf7ace3a5 src/gaimrc.c --- a/src/gaimrc.c Thu Sep 27 23:58:48 2001 +0000 +++ b/src/gaimrc.c Fri Sep 28 01:25:02 2001 +0000 @@ -165,7 +165,7 @@ return -1; } -void filter_break(char *msg) +static void filter_break(char *msg) { char *c; int mc; @@ -190,6 +190,40 @@ g_free(c); } +static char *escape_text2(const char *msg) +{ + char *c, *cpy; + char *woo; + int cnt = 0; + /* Assumes you have a buffer able to cary at least BUF_LEN * 2 bytes */ + + woo = malloc(strlen(msg) * 4 + 1); + cpy = g_strndup(msg, 2048); + c = cpy; + while (*c) { + switch (*c) { + case '\n': + woo[cnt++] = '<'; + woo[cnt++] = 'B'; + woo[cnt++] = 'R'; + woo[cnt++] = '>'; + break; + case '{': + case '}': + case '\\': + case '"': + woo[cnt++] = '\\'; + /* Fall through */ + default: + woo[cnt++] = *c; + } + c++; + } + woo[cnt] = '\0'; + + g_free(cpy); + return woo; +} static void gaimrc_read_away(FILE *f) { diff -r dfaf5d9d433e -r cacaf7ace3a5 src/util.c --- a/src/util.c Thu Sep 27 23:58:48 2001 +0000 +++ b/src/util.c Fri Sep 28 01:25:02 2001 +0000 @@ -31,16 +31,11 @@ #include #include #include -#include #include #include -#include #include "gaim.h" #include "prpl.h" -static GdkPixmap *icon_pm = NULL; -static GdkBitmap *icon_bm = NULL; - char *full_date() { char *date; @@ -473,45 +468,6 @@ return open_gaim_log_file("system", &x); } -char *escape_text2(const char *msg) -{ - char *c, *cpy; - char *woo; - int cnt = 0; - /* Assumes you have a buffer able to cary at least BUF_LEN * 2 bytes */ - if (strlen(msg) > BUF_LEN) { - fprintf(stderr, "Warning: truncating message to 2048 bytes\n"); - } - - woo = malloc(strlen(msg) * 4 + 1); - cpy = g_strndup(msg, 2048); - c = cpy; - while (*c) { - switch (*c) { - case '\n': - woo[cnt++] = '<'; - woo[cnt++] = 'B'; - woo[cnt++] = 'R'; - woo[cnt++] = '>'; - break; - case '{': - case '}': - case '\\': - case '"': - woo[cnt++] = '\\'; - /* Fall through */ - default: - woo[cnt++] = *c; - } - c++; - } - woo[cnt] = '\0'; - - g_free(cpy); - return woo; -} - - char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" "0123456789+/"; @@ -681,18 +637,6 @@ return FALSE; } -void aol_icon(GdkWindow *w) -{ -#ifndef _WIN32 - if (icon_pm == NULL) { - icon_pm = gdk_pixmap_create_from_xpm_d(w, &icon_bm, NULL, (gchar **)aimicon_xpm); - } - gdk_window_set_icon(w, NULL, icon_pm, icon_bm); - if (mainwindow) - gdk_window_set_group(w, mainwindow->window); -#endif -} - struct aim_user *find_user(const char *name, int protocol) { char *who = g_strdup(normalize(name)); @@ -772,95 +716,6 @@ return (cpy); } -GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm) -{ - GtkWidget *button; - GtkWidget *button_box, *button_box_2, *button_box_3; - GtkWidget *label; - GdkBitmap *mask; - GdkPixmap *pm; - GtkWidget *pixmap; - - button = gtk_button_new(); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - - button_box = gtk_hbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(button), button_box); - - button_box_2 = gtk_hbox_new(FALSE, 0); - button_box_3 = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(button_box), button_box_3, TRUE, TRUE, 0); - pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); - pixmap = gtk_pixmap_new(pm, mask); - gtk_box_pack_end(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); - - if (text) { - label = gtk_label_new(text); - gtk_box_pack_start(GTK_BOX(button_box_3), label, FALSE, FALSE, 2); - gtk_widget_show(label); - } - - gtk_widget_show(pixmap); - gtk_widget_show(button_box_2); - gtk_widget_show(button_box_3); - gtk_widget_show(button_box); - -/* this causes clipping on lots of buttons with long text */ -/* gtk_widget_set_usize(button, 75, 30);*/ - gtk_widget_show(button); - gdk_pixmap_unref(pm); - gdk_bitmap_unref(mask); - - return button; -} - -static GtkTooltips *button_tips = NULL; -GtkWidget *picture_button2(GtkWidget *window, char *text, char **xpm, short dispstyle) -{ - GtkWidget *button; - GtkWidget *button_box, *button_box_2; - GdkBitmap *mask; - GdkPixmap *pm; - GtkWidget *pixmap; - GtkWidget *label; - - if (!button_tips) - button_tips = gtk_tooltips_new(); - button = gtk_button_new(); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - - button_box = gtk_hbox_new(FALSE, 0); - gtk_container_add(GTK_CONTAINER(button), button_box); - - button_box_2 = gtk_vbox_new(FALSE, 0); - - gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); - gtk_widget_show(button_box_2); - gtk_widget_show(button_box); - if (dispstyle == 2 || dispstyle == 0) { - pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); - pixmap = gtk_pixmap_new(pm, mask); - gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); - - gtk_widget_show(pixmap); - - gdk_pixmap_unref(pm); - gdk_bitmap_unref(mask); - } - - if (dispstyle == 2 || dispstyle == 1) { - label = gtk_label_new(text); - gtk_widget_show(label); - gtk_box_pack_end(GTK_BOX(button_box_2), label, FALSE, FALSE, 0); - } - - gtk_tooltips_set_tip(button_tips, button, text, "Gaim"); - gtk_widget_show(button); - return button; -} /* remove leading whitespace from a string */ @@ -1044,39 +899,6 @@ return buf; } -int set_dispstyle(int chat) -{ - int dispstyle; - - if (chat) { - switch (chat_options & (OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM)) { - case OPT_CHAT_BUTTON_TEXT: - dispstyle = 1; - break; - case OPT_CHAT_BUTTON_XPM: - dispstyle = 0; - break; - default: /* both or neither */ - dispstyle = 2; - break; - } - } else { - switch (im_options & (OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM)) { - case OPT_IM_BUTTON_TEXT: - dispstyle = 1; - break; - case OPT_IM_BUTTON_XPM: - dispstyle = 0; - break; - default: /* both or neither */ - dispstyle = 2; - break; - } - } - return dispstyle; -} - - void show_usage(int mode, char *name) { switch (mode) { @@ -1099,25 +921,6 @@ } -void set_first_user(char *name) -{ - struct aim_user *u; - - u = find_user(name, -1); - - if (!u) { /* new user */ - u = g_new0(struct aim_user, 1); - g_snprintf(u->username, sizeof(u->username), "%s", name); - u->protocol = DEFAULT_PROTO; - aim_users = g_list_prepend(aim_users, u); - } else { /* user already exists */ - aim_users = g_list_remove(aim_users, u); - aim_users = g_list_prepend(aim_users, u); - } - save_prefs(); -} - - /* is a comma-separated list of names, or NULL if NULL and there is at least one user defined in .gaimrc, try to login. if not NULL, parse into separate strings, look up each one in @@ -1154,27 +957,6 @@ return retval; } - -int file_is_dir(const char *path, GtkWidget *w) -{ - struct stat st; - char *name; - - if (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) { - /* append a / if needed */ - if (path[strlen(path) - 1] != '/') { - name = g_strconcat(path, "/", NULL); - } else { - name = g_strdup(path); - } - gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), name); - g_free(name); - return 1; - } - - return 0; -} - GSList *message_split(char *message, int limit) { static GSList *ret = NULL; @@ -1280,7 +1062,7 @@ if (mesg == NULL) { /* Use default message */ - do_away_message((GtkWidget *)NULL, default_away); + do_away_message(NULL, default_away); } else { /* Use argument */ while (awy) { @@ -1293,7 +1075,7 @@ } if (message == NULL) message = default_away; - do_away_message((GtkWidget *)NULL, message); + do_away_message(NULL, message); } return; }