comparison src/gtkconv.c @ 9602:00e678a71a7f

[gaim-migrate @ 10445] This makes us not think what you typed was a command if it's a smiley. Note this only applies to smileys that appear as graphics. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Tue, 27 Jul 2004 00:40:45 +0000
parents d6f398e80b32
children b5dd5cb72f56
comparison
equal deleted inserted replaced
9601:b94fe6153785 9602:00e678a71a7f
399 if ((gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) && 399 if ((gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) &&
400 gaim_conv_chat_has_left(GAIM_CONV_CHAT(conv))) 400 gaim_conv_chat_has_left(GAIM_CONV_CHAT(conv)))
401 return; 401 return;
402 402
403 if(gaim_prefs_get_bool("/gaim/gtk/conversations/enable_commands")) { 403 if(gaim_prefs_get_bool("/gaim/gtk/conversations/enable_commands")) {
404 GtkTextIter start;
404 cmd = gtk_imhtml_get_text(GTK_IMHTML(gtkconv->entry), NULL, NULL); 405 cmd = gtk_imhtml_get_text(GTK_IMHTML(gtkconv->entry), NULL, NULL);
405 if(cmd && (strncmp(cmd, prefix, strlen(prefix)) == 0)) { 406 gtk_text_buffer_get_start_iter(GTK_IMHTML(gtkconv->entry)->text_buffer, &start);
407
408 if(cmd && (strncmp(cmd, prefix, strlen(prefix)) == 0)
409 && !gtk_text_iter_get_child_anchor(&start)) {
406 GaimCmdStatus status; 410 GaimCmdStatus status;
407 char *error, *cmdline, *markup, *send_history; 411 char *error, *cmdline, *markup, *send_history;
408 GtkTextIter start, end; 412 GtkTextIter end;
409 413
410 send_history = gtk_imhtml_get_markup(GTK_IMHTML(gtkconv->entry)); 414 send_history = gtk_imhtml_get_markup(GTK_IMHTML(gtkconv->entry));
411 send_history_add(conv, send_history); 415 send_history_add(conv, send_history);
412 g_free(send_history); 416 g_free(send_history);
413 417
414 cmdline = cmd + strlen(prefix); 418 cmdline = cmd + strlen(prefix);
415 gtk_text_buffer_get_start_iter(GTK_IMHTML(gtkconv->entry)->text_buffer, &start); 419
416 gtk_text_iter_forward_chars(&start, g_utf8_strlen(prefix, -1)); 420 gtk_text_iter_forward_chars(&start, g_utf8_strlen(prefix, -1));
417 gtk_text_buffer_get_end_iter(GTK_IMHTML(gtkconv->entry)->text_buffer, &end); 421 gtk_text_buffer_get_end_iter(GTK_IMHTML(gtkconv->entry)->text_buffer, &end);
418 markup = gtk_imhtml_get_markup_range(GTK_IMHTML(gtkconv->entry), &start, &end); 422 markup = gtk_imhtml_get_markup_range(GTK_IMHTML(gtkconv->entry), &start, &end);
419 status = gaim_cmd_do_command(conv, cmdline, markup, &error); 423 status = gaim_cmd_do_command(conv, cmdline, markup, &error);
420 g_free(cmd); 424 g_free(cmd);