comparison src/conversation.c @ 3159:fce1883cc608

[gaim-migrate @ 3175] new shortcuts: Ctrl-- Decrease Font Size Ctrl-= Increase Font Size Ctrl-0 Normal Font Size Ctrl-F Select Font Ctrl-C Text Color Ctrl-W Close IM/Chat Window (or Tab, if using tabbed conversations) Ctrl-N New IM/Chat Tab (if using tabbed conversations) Ctrl-Z Minimize (Iconify) IM/Chat Window -As suggested by Shreedeep K Bhachech committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Apr 2002 08:10:13 +0000
parents 6006cc902d62
children 255155a1b190
comparison
equal deleted inserted replaced
3158:ea6f8d8d74e5 3159:fce1883cc608
29 #include <unistd.h> 29 #include <unistd.h>
30 #include <stdio.h> 30 #include <stdio.h>
31 #include <stdlib.h> 31 #include <stdlib.h>
32 #include <errno.h> 32 #include <errno.h>
33 #include <ctype.h> 33 #include <ctype.h>
34 #include <gdk/gdkx.h>
35 #include <X11/Xlib.h>
34 #include <gtk/gtk.h> 36 #include <gtk/gtk.h>
35 #include "gtkimhtml.h" 37 #include "gtkimhtml.h"
36 #include <gdk/gdkkeysyms.h> 38 #include <gdk/gdkkeysyms.h>
37 #include "convo.h" 39 #include "convo.h"
38 #include "gtkspell.h" 40 #include "gtkspell.h"
850 gtk_editable_set_position(GTK_EDITABLE(entry), pos + 1); 852 gtk_editable_set_position(GTK_EDITABLE(entry), pos + 1);
851 } else if (event->state & GDK_CONTROL_MASK) { 853 } else if (event->state & GDK_CONTROL_MASK) {
852 int pos = 0; 854 int pos = 0;
853 switch (event->keyval) { 855 switch (event->keyval) {
854 case GDK_Up: 856 case GDK_Up:
855 debug_printf("YOU HIT UP!\n");
856 if (!c->send_history) 857 if (!c->send_history)
857 break; 858 break;
858 debug_printf("history exists\n");
859 if (!c->send_history->prev) { 859 if (!c->send_history->prev) {
860 debug_printf("at curent\n");
861 if (c->send_history->data) 860 if (c->send_history->data)
862 g_free(c->send_history->data); 861 g_free(c->send_history->data);
863 c->send_history->data = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1); 862 c->send_history->data = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1);
864 } 863 }
865 if (c->send_history->next && c->send_history->next->data) { 864 if (c->send_history->next && c->send_history->next->data) {
866 debug_printf("going to ->next\n");
867 c->send_history = c->send_history->next; 865 c->send_history = c->send_history->next;
868 gtk_editable_delete_text (GTK_EDITABLE(entry),0,-1); 866 gtk_editable_delete_text (GTK_EDITABLE(entry),0,-1);
869 gtk_editable_insert_text(GTK_EDITABLE(entry), 867 gtk_editable_insert_text(GTK_EDITABLE(entry),
870 c->send_history->data, 868 c->send_history->data,
871 strlen(c->send_history->data), 869 strlen(c->send_history->data),
914 case 's': 912 case 's':
915 case 'S': 913 case 'S':
916 quiet_set(c->strike, 914 quiet_set(c->strike,
917 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->strike))); 915 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->strike)));
918 do_strike(c->strike, c->entry); 916 do_strike(c->strike, c->entry);
917 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
918 break;
919
920 case '-':
921 do_small(NULL, c->entry);
922 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
923 break;
924 case '=':
925 case '+':
926 do_big(NULL, c->entry);
927 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
928 break;
929 case '0':
930 do_normal(NULL, c->entry);
931 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
932 break;
933 case 'f':
934 case 'F':
935 quiet_set(c->font,
936 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->font)));
937 toggle_font(c->font, c);
938 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
939 break;
940 case 'c':
941 case 'C':
942 quiet_set(c->fgcolorbtn,
943 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->fgcolorbtn)));
944 toggle_fg_color(c->fgcolorbtn, c);
919 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); 945 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
920 break; 946 break;
921 } 947 }
922 } 948 }
923 if (convo_options & OPT_CONVO_CTL_SMILEYS) { 949 if (convo_options & OPT_CONVO_CTL_SMILEYS) {
988 } 1014 }
989 if (event->keyval == 'l') { 1015 if (event->keyval == 'l') {
990 gtk_imhtml_clear(GTK_IMHTML(c->text)); 1016 gtk_imhtml_clear(GTK_IMHTML(c->text));
991 g_string_free(c->history, TRUE); 1017 g_string_free(c->history, TRUE);
992 c->history = g_string_new(""); 1018 c->history = g_string_new("");
993 } 1019 } else if (event->keyval == 'w') {
1020 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
1021 close_callback(c->close, c);
1022 c = NULL;
1023 return TRUE;
1024 } else if (event->keyval == 'n') {
1025 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
1026 show_im_dialog();
1027 } else if (event->keyval == 'z') {
1028 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
1029 XIconifyWindow(GDK_DISPLAY(),
1030 GDK_WINDOW_XWINDOW(c->window->window),
1031 ((_XPrivDisplay)GDK_DISPLAY())->default_screen);
1032 }
1033
1034
994 if ((!c->is_chat && (im_options & OPT_IM_ONE_WINDOW)) || 1035 if ((!c->is_chat && (im_options & OPT_IM_ONE_WINDOW)) ||
995 (c->is_chat && (chat_options & OPT_CHAT_ONE_WINDOW))) { 1036 (c->is_chat && (chat_options & OPT_CHAT_ONE_WINDOW))) {
996 GtkWidget *notebook = (c->is_chat ? chat_notebook : convo_notebook); 1037 GtkWidget *notebook = (c->is_chat ? chat_notebook : convo_notebook);
997 if (event->keyval == '[') { 1038 if (event->keyval == '[') {
998 gtk_notebook_prev_page(GTK_NOTEBOOK(notebook)); 1039 gtk_notebook_prev_page(GTK_NOTEBOOK(notebook));
1162 int imflags = 0; 1203 int imflags = 0;
1163 if (c->check && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->check))) 1204 if (c->check && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->check)))
1164 imflags = IM_FLAG_CHECKBOX; 1205 imflags = IM_FLAG_CHECKBOX;
1165 1206
1166 if (c->images) { 1207 if (c->images) {
1167 int id, offset; 1208 int id = 0, offset = 0;
1168 char *bigbuf; 1209 char *bigbuf = NULL;
1169 GSList *tmplist = c->images; 1210 GSList *tmplist = c->images;
1170 id = 1; 1211 id = 1;
1171 1212
1172 while (tmplist) { 1213 while (tmplist) {
1173 FILE *imgfile; 1214 FILE *imgfile;