]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkrecentmanager.c
Updated Spanish translation
[~andy/gtk] / gtk / gtkrecentmanager.c
index ccdea45310aced350002b498820288548e44d9db..a674b5d982a5e5e5ef41cf1ec08038e009d6e876 100644 (file)
@@ -524,7 +524,9 @@ gtk_recent_manager_monitor_changed (GFileMonitor      *monitor,
     {
     case G_FILE_MONITOR_EVENT_CHANGED:
     case G_FILE_MONITOR_EVENT_CREATED:
+      gdk_threads_enter ();
       gtk_recent_manager_changed (manager);
+      gdk_threads_leave ();
       break;
 
     case G_FILE_MONITOR_EVENT_DELETED:
@@ -728,20 +730,10 @@ gtk_recent_manager_add_item_query_info (GObject      *source_object,
   GtkRecentData recent_data;
   GFileInfo *file_info;
   gchar *uri;
-  GError *error;
 
   uri = g_file_get_uri (file);
 
-  error = NULL;
-  file_info = g_file_query_info_finish (file, res, &error);
-  if (error)
-    {
-      g_warning ("Unable to retrieve the file info for `%s': %s",
-                 uri,
-                 error->message);
-      g_error_free (error);
-      goto out;
-    }
+  file_info = g_file_query_info_finish (file, res, NULL); /* NULL-GError */
 
   recent_data.display_name = NULL;
   recent_data.description = NULL;
@@ -761,13 +753,15 @@ gtk_recent_manager_add_item_query_info (GObject      *source_object,
       g_object_unref (file_info);
     }
   else
-    recent_data.mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME);
+    recent_data.mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME); /* FIXME: maybe we should make up the MIME type from the filename's extension */
 
   recent_data.app_name = g_strdup (g_get_application_name ());
   recent_data.app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL);
   recent_data.groups = NULL;
   recent_data.is_private = FALSE;
 
+  gdk_threads_enter ();
+
   /* Ignore return value, this can't fail anyway since all required
    * fields are set */
   gtk_recent_manager_add_full (manager, uri, &recent_data);
@@ -775,11 +769,12 @@ gtk_recent_manager_add_item_query_info (GObject      *source_object,
   manager->priv->is_dirty = TRUE;
   gtk_recent_manager_changed (manager);
 
+  gdk_threads_leave ();
+
   g_free (recent_data.mime_type);
   g_free (recent_data.app_name);
   g_free (recent_data.app_exec);
 
-out:
   g_object_unref (manager);
   g_free (uri);
 }
@@ -1189,59 +1184,58 @@ gtk_recent_manager_lookup_item (GtkRecentManager  *manager,
  * Return value: %TRUE on success.
  *
  * Since: 2.10
- */ 
+ */
 gboolean
 gtk_recent_manager_move_item (GtkRecentManager  *recent_manager,
-                             const gchar       *uri,
-                             const gchar       *new_uri,
-                             GError           **error)
+                              const gchar       *uri,
+                              const gchar       *new_uri,
+                              GError           **error)
 {
   GtkRecentManagerPrivate *priv;
   GError *move_error;
-  gboolean res;
-  
+
   g_return_val_if_fail (GTK_IS_RECENT_MANAGER (recent_manager), FALSE);
   g_return_val_if_fail (uri != NULL, FALSE);
   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-  
+
   priv = recent_manager->priv;
 
   if (!priv->recent_items)
     {
       g_set_error (error, GTK_RECENT_MANAGER_ERROR,
-                  GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
-                  _("Unable to find an item with URI '%s'"),
-                  uri);
+                   GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
+                   _("Unable to find an item with URI '%s'"),
+                   uri);
       return FALSE;
     }
 
   if (!g_bookmark_file_has_item (priv->recent_items, uri))
     {
       g_set_error (error, GTK_RECENT_MANAGER_ERROR,
-                  GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
-                  _("Unable to find an item with URI '%s'"),
-                  uri);
+                   GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
+                   _("Unable to find an item with URI '%s'"),
+                   uri);
       return FALSE;
     }
-  
+
   move_error = NULL;
-  res = g_bookmark_file_move_item (priv->recent_items,
-                                   uri, new_uri,
-                                   &move_error);
-  if (move_error)
+  if (!g_bookmark_file_move_item (priv->recent_items,
+                                  uri,
+                                  new_uri,
+                                  &move_error))
     {
       g_error_free (move_error);
 
       g_set_error (error, GTK_RECENT_MANAGER_ERROR,
-                  GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
-                  _("Unable to find an item with URI '%s'"),
-                  uri);
+                   GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
+                   _("Unable to find an item with URI '%s'"),
+                   uri);
       return FALSE;
     }
-  
+
   priv->is_dirty = TRUE;
   gtk_recent_manager_changed (recent_manager);
-  
+
   return TRUE;
 }
 
@@ -1534,7 +1528,7 @@ gtk_recent_info_unref (GtkRecentInfo *info)
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_recent_info_get_uri (GtkRecentInfo *info)
 {
   g_return_val_if_fail (info != NULL, NULL);
@@ -1554,7 +1548,7 @@ gtk_recent_info_get_uri (GtkRecentInfo *info)
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_recent_info_get_display_name (GtkRecentInfo *info)
 {
   g_return_val_if_fail (info != NULL, NULL);
@@ -1576,7 +1570,7 @@ gtk_recent_info_get_display_name (GtkRecentInfo *info)
  *
  * Since: 2.10
  **/
-G_CONST_RETURN gchar *
+const gchar *
 gtk_recent_info_get_description (GtkRecentInfo *info)
 {
   g_return_val_if_fail (info != NULL, NULL);
@@ -1595,7 +1589,7 @@ gtk_recent_info_get_description (GtkRecentInfo *info)
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_recent_info_get_mime_type (GtkRecentInfo *info)
 {
   g_return_val_if_fail (info != NULL, NULL);
@@ -1963,7 +1957,7 @@ gtk_recent_info_get_icon (GtkRecentInfo *info,
           strcmp (info->mime_type, "x-directory/normal") == 0)
         retval = get_icon_fallback ("folder", size);
       else
-        retval = get_icon_fallback ("document-x-generic", size);
+        retval = get_icon_fallback ("text-x-generic", size);
     }
   
   return retval;
@@ -1975,7 +1969,7 @@ gtk_recent_info_get_icon (GtkRecentInfo *info,
  *
  * Retrieves the icon associated to the resource MIME type.
  *
- * Return value: a #GIcon containing the icon, or %NULL. Use
+ * Return value: (transfer full): a #GIcon containing the icon, or %NULL. Use
  *   g_object_unref() when finished using the icon
  *
  * Since: 2.22
@@ -2032,7 +2026,7 @@ gboolean
 gtk_recent_info_exists (GtkRecentInfo *info)
 {
   gchar *filename;
-  struct stat stat_buf;
+  GStatBuf stat_buf;
   gboolean retval = FALSE;
   
   g_return_val_if_fail (info != NULL, FALSE);
@@ -2044,7 +2038,7 @@ gtk_recent_info_exists (GtkRecentInfo *info)
   filename = g_filename_from_uri (info->uri, NULL, NULL);
   if (filename)
     {
-      if (stat (filename, &stat_buf) == 0)
+      if (g_stat (filename, &stat_buf) == 0)
         retval = TRUE;
      
       g_free (filename);