diff options
author | Stefano Karapetsas <[email protected]> | 2013-10-30 00:56:56 +0100 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2013-10-30 00:56:56 +0100 |
commit | 7f0ccea48196a0da9523db3d566ee8020cd742a1 (patch) | |
tree | 4a66f87edcc70ca3949c750148df218c9a41ba28 /pluma/pluma-document.c | |
parent | 5f87f646777bf5b09610bbc6eed8fafd007f34c6 (diff) | |
download | pluma-7f0ccea48196a0da9523db3d566ee8020cd742a1.tar.bz2 pluma-7f0ccea48196a0da9523db3d566ee8020cd742a1.tar.xz |
pluma: Add GTK3 support
Diffstat (limited to 'pluma/pluma-document.c')
-rw-r--r-- | pluma/pluma-document.c | 79 |
1 files changed, 75 insertions, 4 deletions
diff --git a/pluma/pluma-document.c b/pluma/pluma-document.c index 9940e876..ec53a315 100644 --- a/pluma/pluma-document.c +++ b/pluma/pluma-document.c @@ -38,7 +38,10 @@ #include <stdlib.h> #include <glib/gi18n.h> +#include <gtk/gtk.h> +#if !GTK_CHECK_VERSION (3, 0, 0) #include <gtksourceview/gtksourceiter.h> +#endif #include "pluma-prefs-manager-app.h" #include "pluma-document.h" @@ -173,7 +176,11 @@ enum { static guint document_signals[LAST_SIGNAL] = { 0 }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE(PlumaDocument, pluma_document, GTK_SOURCE_TYPE_BUFFER) +#else G_DEFINE_TYPE(PlumaDocument, pluma_document, GTK_TYPE_SOURCE_BUFFER) +#endif GQuark pluma_document_error_quark (void) @@ -1842,7 +1849,11 @@ pluma_document_search_forward (PlumaDocument *doc, GtkTextIter *match_end) { GtkTextIter iter; +#if GTK_CHECK_VERSION (3, 0, 0) + GtkTextSearchFlags search_flags; +#else GtkSourceSearchFlags search_flags; +#endif gboolean found = FALSE; GtkTextIter m_start; GtkTextIter m_end; @@ -1865,17 +1876,29 @@ pluma_document_search_forward (PlumaDocument *doc, gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER (doc), &iter); else iter = *start; - + +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = GTK_TEXT_SEARCH_VISIBLE_ONLY | GTK_TEXT_SEARCH_TEXT_ONLY; +#else search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; +#endif if (!PLUMA_SEARCH_IS_CASE_SENSITIVE (doc->priv->search_flags)) { +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = search_flags | GTK_TEXT_SEARCH_CASE_INSENSITIVE; +#else search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; +#endif } while (!found) { +#if GTK_CHECK_VERSION (3, 0, 0) + found = gtk_text_iter_forward_search (&iter, +#else found = gtk_source_iter_forward_search (&iter, +#endif doc->priv->search_text, search_flags, &m_start, @@ -1911,7 +1934,11 @@ pluma_document_search_backward (PlumaDocument *doc, GtkTextIter *match_end) { GtkTextIter iter; +#if GTK_CHECK_VERSION (3, 0, 0) + GtkTextSearchFlags search_flags; +#else GtkSourceSearchFlags search_flags; +#endif gboolean found = FALSE; GtkTextIter m_start; GtkTextIter m_end; @@ -1934,17 +1961,29 @@ pluma_document_search_backward (PlumaDocument *doc, gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &iter); else iter = *end; - + +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = GTK_TEXT_SEARCH_VISIBLE_ONLY | GTK_TEXT_SEARCH_TEXT_ONLY; +#else search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; +#endif if (!PLUMA_SEARCH_IS_CASE_SENSITIVE (doc->priv->search_flags)) { +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = search_flags | GTK_TEXT_SEARCH_CASE_INSENSITIVE; +#else search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; +#endif } while (!found) { +#if GTK_CHECK_VERSION (3, 0, 0) + found = gtk_text_iter_backward_search (&iter, +#else found = gtk_source_iter_backward_search (&iter, +#endif doc->priv->search_text, search_flags, &m_start, @@ -1981,7 +2020,11 @@ pluma_document_replace_all (PlumaDocument *doc, GtkTextIter iter; GtkTextIter m_start; GtkTextIter m_end; +#if GTK_CHECK_VERSION (3, 0, 0) + GtkTextSearchFlags search_flags = 0; +#else GtkSourceSearchFlags search_flags = 0; +#endif gboolean found = TRUE; gint cont = 0; gchar *search_text; @@ -2006,11 +2049,19 @@ pluma_document_replace_all (PlumaDocument *doc, gtk_text_buffer_get_start_iter (buffer, &iter); +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = GTK_TEXT_SEARCH_VISIBLE_ONLY | GTK_TEXT_SEARCH_TEXT_ONLY; +#else search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; +#endif if (!PLUMA_SEARCH_IS_CASE_SENSITIVE (flags)) { +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = search_flags | GTK_TEXT_SEARCH_CASE_INSENSITIVE; +#else search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; +#endif } replace_text_len = strlen (replace_text); @@ -2033,7 +2084,11 @@ pluma_document_replace_all (PlumaDocument *doc, do { +#if GTK_CHECK_VERSION (3, 0, 0) + found = gtk_text_iter_forward_search (&iter, +#else found = gtk_source_iter_forward_search (&iter, +#endif search_text, search_flags, &m_start, @@ -2236,8 +2291,12 @@ search_region (PlumaDocument *doc, { GtkTextIter iter; GtkTextIter m_start; - GtkTextIter m_end; + GtkTextIter m_end; +#if GTK_CHECK_VERSION (3, 0, 0) + GtkTextSearchFlags search_flags = 0; +#else GtkSourceSearchFlags search_flags = 0; +#endif gboolean found = TRUE; GtkTextBuffer *buffer; @@ -2296,12 +2355,20 @@ search_region (PlumaDocument *doc, return; iter = *start; - + +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = GTK_TEXT_SEARCH_VISIBLE_ONLY | GTK_TEXT_SEARCH_TEXT_ONLY; +#else search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; +#endif if (!PLUMA_SEARCH_IS_CASE_SENSITIVE (doc->priv->search_flags)) { +#if GTK_CHECK_VERSION (3, 0, 0) + search_flags = search_flags | GTK_TEXT_SEARCH_CASE_INSENSITIVE; +#else search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; +#endif } do @@ -2309,7 +2376,11 @@ search_region (PlumaDocument *doc, if ((end != NULL) && gtk_text_iter_is_end (end)) end = NULL; +#if GTK_CHECK_VERSION (3, 0, 0) + found = gtk_text_iter_forward_search (&iter, +#else found = gtk_source_iter_forward_search (&iter, +#endif doc->priv->search_text, search_flags, &m_start, |