diff 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
line wrap: on
line diff
--- a/src/conversation.c	Sat Apr 20 07:07:06 2002 +0000
+++ b/src/conversation.c	Sat Apr 20 08:10:13 2002 +0000
@@ -31,6 +31,8 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <ctype.h>
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
 #include <gtk/gtk.h>
 #include "gtkimhtml.h"
 #include <gdk/gdkkeysyms.h>
@@ -852,18 +854,14 @@
 		int pos = 0;
 		switch (event->keyval) {
 		case GDK_Up:
-			debug_printf("YOU HIT UP!\n");
 			if (!c->send_history)
 				break;
-			debug_printf("history exists\n");
 			if (!c->send_history->prev) {
-				debug_printf("at curent\n");
 				if (c->send_history->data)
 					g_free(c->send_history->data);
 				c->send_history->data = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1);
 			} 
 			if (c->send_history->next && c->send_history->next->data) {
-				debug_printf("going to ->next\n");
 				c->send_history = c->send_history->next;
 				gtk_editable_delete_text (GTK_EDITABLE(entry),0,-1);
 				gtk_editable_insert_text(GTK_EDITABLE(entry), 
@@ -918,6 +916,34 @@
 				do_strike(c->strike, c->entry);
 				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
 				break;
+			
+			case '-':
+				do_small(NULL, c->entry);
+				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+				break;
+			case '=':
+			case '+':
+				do_big(NULL, c->entry);
+				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+				break;	
+			case '0':
+				do_normal(NULL, c->entry);
+				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+				break;
+			case 'f':
+			case 'F':
+				quiet_set(c->font,
+					  !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->font)));
+				toggle_font(c->font, c);
+				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+				break;
+			case 'c':
+			case 'C':
+				quiet_set(c->fgcolorbtn,
+					  !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->fgcolorbtn)));
+				toggle_fg_color(c->fgcolorbtn, c);
+				gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+				break;
 			}
 		}
 		if (convo_options & OPT_CONVO_CTL_SMILEYS) {
@@ -990,7 +1016,22 @@
 			gtk_imhtml_clear(GTK_IMHTML(c->text));
 			g_string_free(c->history, TRUE);
 			c->history = g_string_new("");
+		} else if (event->keyval == 'w') {
+			gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+			close_callback(c->close, c);
+			c = NULL;
+			return TRUE;
+		} else if (event->keyval == 'n') {
+			gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+			show_im_dialog();
+		} else if (event->keyval == 'z') {
+			gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
+			XIconifyWindow(GDK_DISPLAY(),
+				       GDK_WINDOW_XWINDOW(c->window->window),
+				       ((_XPrivDisplay)GDK_DISPLAY())->default_screen);		     
 		}
+		
+
 		if ((!c->is_chat && (im_options & OPT_IM_ONE_WINDOW)) ||
 		    (c->is_chat && (chat_options & OPT_CHAT_ONE_WINDOW))) {
 			GtkWidget *notebook = (c->is_chat ? chat_notebook : convo_notebook);
@@ -1164,8 +1205,8 @@
 				imflags = IM_FLAG_CHECKBOX;
 			
 			if (c->images) {
-				int id, offset;
-				char *bigbuf;
+				int id = 0, offset = 0;
+				char *bigbuf = NULL;
 				GSList *tmplist = c->images;
 				id = 1;