52
52
#include "gedit-enum-types.h"
53
53
#include "gedittextregion.h"
55
#ifndef ENABLE_GVFS_METADATA
56
56
#include "gedit-metadata-manager.h"
58
58
#define METADATA_QUERY "metadata::*"
1129
1129
/* Note: do not emit the notify::read-only signal */
1131
1131
set_readonly (GeditDocument *doc,
1132
1132
gboolean readonly)
1134
1134
gedit_debug (DEBUG_DOCUMENT);
1136
1136
readonly = (readonly != FALSE);
1138
1138
if (doc->priv->readonly == readonly)
1141
1141
doc->priv->readonly = readonly;
1157
1159
g_return_if_fail (GEDIT_IS_DOCUMENT (doc));
1159
set_readonly (doc, readonly);
1161
g_object_notify (G_OBJECT (doc), "read-only");
1161
if (set_readonly (doc, readonly))
1163
g_object_notify (G_OBJECT (doc), "read-only");
1186
1188
gfile = g_file_new_for_uri (doc->priv->uri);
1187
1189
info = g_file_query_info (gfile,
1188
G_FILE_ATTRIBUTE_TIME_MODIFIED,
1190
G_FILE_ATTRIBUTE_TIME_MODIFIED "," \
1191
G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE,
1189
1192
G_FILE_QUERY_INFO_NONE,
1191
1194
g_object_unref (gfile);
1194
!g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_TIME_MODIFIED))
1198
/* While at it also check if permissions changed */
1199
if (g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE))
1203
read_only = !g_file_info_get_attribute_boolean (info,
1204
G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE);
1206
_gedit_document_set_readonly (doc, read_only);
1209
if (g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_TIME_MODIFIED))
1213
g_file_info_get_modification_time (info, &timeval);
1214
g_object_unref (info);
1216
return (timeval.tv_sec > doc->priv->mtime.tv_sec) ||
1217
(timeval.tv_sec == doc->priv->mtime.tv_sec &&
1218
timeval.tv_usec > doc->priv->mtime.tv_usec);
1199
g_file_info_get_modification_time (info, &timeval);
1200
g_object_unref (info);
1202
return (timeval.tv_sec > doc->priv->mtime.tv_sec) ||
1203
(timeval.tv_sec == doc->priv->mtime.tv_sec &&
1204
timeval.tv_usec > doc->priv->mtime.tv_usec);
2563
2581
g_return_val_if_fail (GEDIT_IS_DOCUMENT (doc), NULL);
2564
2582
g_return_val_if_fail (key != NULL, NULL);
2566
if (doc->priv->uri != NULL)
2584
if (!gedit_document_is_untitled (doc))
2567
2586
value = gedit_metadata_manager_get (doc->priv->uri, key);
2581
2601
g_return_if_fail (GEDIT_IS_DOCUMENT (doc));
2582
2602
g_return_if_fail (first_key != NULL);
2604
if (gedit_document_is_untitled (doc))
2606
/* Can't set metadata for untitled documents */
2584
2610
va_start (var_args, first_key);
2586
2612
for (key = first_key; key; key = va_arg (var_args, const gchar *))