priv->text_view = gtk_text_view_new ();
priv->recipients = NULL;
- priv->scrolled_window = modest_scroll_text_new (GTK_TEXT_VIEW (priv->text_view), 5);
+ priv->scrolled_window = modest_scroll_text_new (GTK_TEXT_VIEW (priv->text_view), 1024);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), GTK_SHADOW_IN);
gunichar c;
gunichar next_c;
gint i= 0;
+ gboolean quoted = FALSE;
const gchar *current, *next_current;
if (text == NULL)
return TRUE;
next_c = g_utf8_get_char (g_utf8_next_char (current));
else
next_c = 0;
- if (c == g_utf8_get_char(",") || c == g_utf8_get_char (";")) {
+ if (!quoted && ((c == g_utf8_get_char(",") || c == g_utf8_get_char (";")))) {
if ((next_c != 0) && (next_c != g_utf8_get_char ("\n")))
return FALSE;
+ else {
+ current = g_utf8_next_char (next_current);
+ continue;
+ }
}
if (c == 0x2022 || c == 0xfffc ||
c == g_utf8_get_char ("\n") ||
c == g_utf8_get_char ("\t"))
return FALSE;
+ if (c == g_utf8_get_char ("\""))
+ quoted = !quoted;
current = g_utf8_next_char (current);
i = current - text;
}
gunichar next_c;
gint i= 0;
GString *str;
+ gboolean quoted = FALSE;
const gchar *current, *next_current;
if (text == NULL)
c != g_utf8_get_char ("\n") &&
c != g_utf8_get_char ("\t"))
str = g_string_append_unichar (str, c);
- if (c == g_utf8_get_char(",") || c == g_utf8_get_char (";")) {
+ if (!quoted && ((c == g_utf8_get_char(",") || c == g_utf8_get_char (";")))) {
if ((next_c != 0) && (next_c != g_utf8_get_char ("\n")))
str = g_string_append_c (str, '\n');
}
+ if (c == g_utf8_get_char ("\""))
+ quoted = !quoted;
current = g_utf8_next_char (current);
i = current - text;
}
g_signal_stop_emission_by_name (G_OBJECT (buffer), "insert-text");
gtk_text_buffer_insert (buffer, location, new_text, -1);
g_free (new_text);
+ return;
}
if (iter_has_recipient (location)) {
gtk_widget_grab_focus (priv->text_view);
}
+gboolean
+modest_recpt_editor_has_focus (ModestRecptEditor *recpt_editor)
+{
+ ModestRecptEditorPrivate *priv;
+
+ g_return_val_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor), FALSE);
+ priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
+
+ return gtk_widget_is_focus (priv->text_view);
+}
+
static void
modest_recpt_editor_finalize (GObject *object)
{