#include <config.h>
-#include <glib/gi18n-lib.h>
-
-#include <gtk/gtkscrolledwindow.h>
-#include <gtk/gtktextview.h>
-#include <gtk/gtkimage.h>
-#include <gtk/gtkbutton.h>
+#include <gtk/gtk.h>
#include <modest-text-utils.h>
#include <modest-recpt-editor.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include <modest-ui-constants.h>
+#include <modest-toolkit-factory.h>
+#include <modest-runtime.h>
-/* FIXNE: we should have no maemo-deps in widgets/ */
-#ifndef MODEST_TOOLKIT_GTK
+#ifdef MODEST_TOOLKIT_HILDON2
#include "modest-hildon-includes.h"
-#endif /*!MODEST_TOOLKIT_GTK*/
+#endif
#define RECPT_BUTTON_WIDTH_HILDON2 118
g_return_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor));
priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
valid_recipients = create_valid_text (recipients, -1);
g_signal_handlers_block_by_func (buffer, modest_recpt_editor_on_insert_text, recpt_editor);
if (recipients == NULL)
return;
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
if (gtk_text_buffer_get_char_count (buffer) > 0) {
string_to_add = g_strconcat (";\n", recipients, NULL);
g_return_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor));
priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
g_signal_handlers_block_by_func (buffer, modest_recpt_editor_on_insert_text, recpt_editor);
g_signal_handlers_block_by_func (buffer, modest_recpt_editor_on_insert_text_after, recpt_editor);
g_return_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor));
priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
g_signal_handlers_block_by_func (buffer, modest_recpt_editor_on_insert_text, recpt_editor);
g_signal_handlers_block_by_func (buffer, modest_recpt_editor_on_insert_text_after, recpt_editor);
priv->recipients = NULL;
}
-#ifdef MODEST_TOOKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
gtk_text_buffer_get_start_iter (buffer, &start);
gtk_text_buffer_get_end_iter (buffer, &end);
#endif
gtk_container_add (GTK_CONTAINER (priv->abook_button), abook_icon);
-#ifdef MODEST_TOOLKIT_HILDON2
- priv->text_view = hildon_text_view_new ();
-#else
- priv->text_view = gtk_text_view_new ();
-#endif
+ priv->text_view = modest_toolkit_factory_create_text_view (modest_runtime_get_toolkit_factory ());
/* Auto-capitalization is the default, so let's turn it off: */
#ifdef MAEMO_CHANGES
hildon_gtk_text_view_set_input_mode (GTK_TEXT_VIEW (priv->text_view),
gtk_widget_set_size_request (priv->text_view, 75, -1);
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ buffer = modest_text_view_get_buffer (priv->text_view);
g_signal_connect (G_OBJECT (priv->abook_button), "clicked", G_CALLBACK (modest_recpt_editor_on_abook_clicked), instance);
g_signal_connect (G_OBJECT (priv->text_view), "key-press-event", G_CALLBACK (modest_recpt_editor_on_key_press_event), instance);
g_signal_connect (G_OBJECT (priv->text_view), "focus-in-event", G_CALLBACK (modest_recpt_editor_on_focus_in), instance);
g_return_val_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor), NULL);
priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
-#ifdef MODEST_TOOLKIT_HILDON2
- return hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- return gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ return modest_text_view_get_buffer (priv->text_view);
}
static void
gboolean select_to_left;
gboolean has_selection;
-#ifdef MODEST_TOOLKIT_HILDON2
- buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (text_view));
-#else
- buffer = gtk_text_view_get_buffer (text_view);
-#endif
+ buffer = modest_text_view_get_buffer (GTK_WIDGET (text_view));
insert = gtk_text_buffer_get_insert (buffer);
selection = gtk_text_buffer_get_selection_bound (buffer);
{
gboolean cursor_ready = FALSE;
GtkTextIter prev_location;
+ gboolean moved = TRUE;
prev_location = location;
while (!cursor_ready) {
- if (iter_previous_char (&location) == '\n') {
- gtk_text_iter_backward_char (&location);
+ if (moved && (iter_previous_char (&location) == '\n')) {
+ moved = gtk_text_iter_backward_char (&location);
} else {
cursor_ready = TRUE;
}
gtk_text_iter_backward_to_tag_toggle (&prev_location, tag);
location = prev_location;
cursor_ready = FALSE;
- while (!cursor_ready) {
+ moved = TRUE;
+ while (moved && !cursor_ready) {
if (iter_previous_char (&location) == '\n') {
- gtk_text_iter_backward_char (&location);
+ moved = gtk_text_iter_backward_char (&location);
} else {
cursor_ready = TRUE;
}
}
}
-
+
if ((tag != NULL)&& (gtk_text_iter_is_start (&location) || !(gtk_text_iter_begins_tag (&location, tag)))) {
if (has_selection) {
gtk_text_buffer_select_range (buffer, &location, &location);
case GDK_KP_Right:
{
gboolean cursor_moved = FALSE;
+ gboolean moved = TRUE;
tag = iter_has_recipient (&location);
if ((tag != NULL)&&(!gtk_text_iter_ends_tag (&location, tag))) {
gtk_text_iter_forward_to_tag_toggle (&location, tag);
- while (gtk_text_iter_get_char (&location) == '\n')
- gtk_text_iter_forward_char (&location);
+ moved = TRUE;
+ while (moved && (gtk_text_iter_get_char (&location) == '\n'))
+ moved = gtk_text_iter_forward_char (&location);
gtk_text_buffer_place_cursor (buffer, &location);
gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (text_view), insert, 0.0, FALSE, 0.0, 1.0);
return TRUE;
}
- while (gtk_text_iter_get_char (&location) == '\n') {
- gtk_text_iter_forward_char (&location);
+ moved = TRUE;
+ while (moved && (gtk_text_iter_get_char (&location) == '\n')) {
+ moved = gtk_text_iter_forward_char (&location);
cursor_moved = TRUE;
}
if (!cursor_moved)
gtk_text_iter_forward_char (&location);
- while (gtk_text_iter_get_char (&location) == '\n') {
- gtk_text_iter_forward_char (&location);
+
+ moved = TRUE;
+ while (moved && (gtk_text_iter_get_char (&location) == '\n')) {
+ moved = gtk_text_iter_forward_char (&location);
cursor_moved = TRUE;
}
{
ModestRecptEditorPrivate *priv = MODEST_RECPT_EDITOR_GET_PRIVATE (editor);
-#ifdef MODEST_TOOLKIT_HILDON2
- GtkTextBuffer *buffer = hildon_text_view_get_buffer (HILDON_TEXT_VIEW (priv->text_view));
-#else
- GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view));
-#endif
+ GtkTextBuffer *buffer = modest_text_view_get_buffer (priv->text_view);
GtkTextTag *tag;
GtkTextIter start, end;
gchar * buffer_contents;