Mercurial > pidgin
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; |
