[gedit] Added gedit_document_set_content_type
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gedit] Added gedit_document_set_content_type
- Date: Sun, 14 Feb 2010 22:08:31 +0000 (UTC)
commit 7de4013c74bfbcd42f9dcd2437418f586b960aca
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sun Feb 14 20:46:44 2010 +0100
Added gedit_document_set_content_type
gedit/gedit-document.c | 38 +++++++++++++++++++++++++++++---------
gedit/gedit-document.h | 4 ++++
2 files changed, 33 insertions(+), 9 deletions(-)
---
diff --git a/gedit/gedit-document.c b/gedit/gedit-document.c
index 43cb3f4..17183fa 100644
--- a/gedit/gedit-document.c
+++ b/gedit/gedit-document.c
@@ -376,6 +376,10 @@ gedit_document_set_property (GObject *object,
gedit_document_set_short_name_for_display (doc,
g_value_get_string (value));
break;
+ case PROP_CONTENT_TYPE:
+ gedit_document_set_content_type (doc,
+ g_value_get_string (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -457,7 +461,7 @@ gedit_document_class_init (GeditDocumentClass *klass)
"Content Type",
"The document's Content Type",
NULL,
- G_PARAM_READABLE |
+ G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class, PROP_MIME_TYPE,
@@ -761,22 +765,29 @@ guess_language (GeditDocument *doc,
else
{
GFile *file;
- gchar *basename;
+ gchar *basename = NULL;
file = gedit_document_get_location (doc);
+ gedit_debug_message (DEBUG_DOCUMENT, "Sniffing Language");
if (file)
{
- gedit_debug_message (DEBUG_DOCUMENT, "Sniffing Language");
-
basename = g_file_get_basename (file);
+ }
+ else if (doc->priv->short_name != NULL)
+ {
+ basename = g_strdup (doc->priv->short_name);
+ }
- language = gtk_source_language_manager_guess_language (
- gedit_get_language_manager (),
- basename,
- content_type);
+ language = gtk_source_language_manager_guess_language (
+ gedit_get_language_manager (),
+ basename,
+ content_type);
- g_free (basename);
+ g_free (basename);
+
+ if (file != NULL)
+ {
g_object_unref (file);
}
}
@@ -916,6 +927,15 @@ set_content_type (GeditDocument *doc,
g_object_notify (G_OBJECT (doc), "content-type");
}
+void
+gedit_document_set_content_type (GeditDocument *doc,
+ const gchar *content_type)
+{
+ g_return_if_fail (GEDIT_IS_DOCUMENT (doc));
+
+ set_content_type (doc, content_type);
+}
+
#ifndef G_OS_WIN32
static void
query_info_cb (GFile *source,
diff --git a/gedit/gedit-document.h b/gedit/gedit-document.h
index 3cb6893..cf966b1 100644
--- a/gedit/gedit-document.h
+++ b/gedit/gedit-document.h
@@ -194,6 +194,10 @@ void gedit_document_set_short_name_for_display
gchar *gedit_document_get_content_type
(GeditDocument *doc);
+void gedit_document_set_content_type
+ (GeditDocument *doc,
+ const gchar *content_type);
+
gchar *gedit_document_get_mime_type (GeditDocument *doc);
gboolean gedit_document_get_readonly (GeditDocument *doc);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]