⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch15.html

📁 最新gtk中文资料集
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Migrating from GnomeVFS to GIO</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GIO Reference Manual"><link rel="up" href="migrating.html" title="Part&#160;III.&#160;Migrating to GIO"><link rel="prev" href="ch14.html" title="Migrating from POSIX to GIO"><link rel="next" href="ch15s02.html" title="Operations on multiple files"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part&#160;I.&#160;GIO Overview"><link rel="chapter" href="ch01.html" title="Introduction"><link rel="chapter" href="ch02.html" title="Compiling GIO applications"><link rel="chapter" href="ch03.html" title="Running GIO applications"><link rel="chapter" href="gio-extension-points.html" title="Extending GIO"><link rel="part" href="pt02.html" title="Part&#160;II.&#160;API Reference"><link rel="chapter" href="file_ops.html" title="File Operations"><link rel="chapter" href="file_mon.html" title="File System Monitoring"><link rel="chapter" href="async.html" title="Asynchronous I/O"><link rel="chapter" href="streaming.html" title="Streaming I/O"><link rel="chapter" href="types.html" title="File types and applications"><link rel="chapter" href="volume_mon.html" title="Volumes and Drives"><link rel="chapter" href="icons.html" title="Icons"><link rel="chapter" href="utils.html" title="Utilities"><link rel="chapter" href="extending.html" title="Extending GIO"><link rel="part" href="migrating.html" title="Part&#160;III.&#160;Migrating to GIO"><link rel="chapter" href="ch14.html" title="Migrating from POSIX to GIO"><link rel="chapter" href="ch15.html" title="Migrating from GnomeVFS to GIO"><link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy"><link rel="index" href="ix01.html" title="Index"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="ch14.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="migrating.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GIO Reference Manual</th><td><a accesskey="n" href="ch15s02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id3086773"></a>Migrating from GnomeVFS to GIO</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ch15.html#id3097667">Trash handling</a></span></dt><dt><span class="section"><a href="ch15s02.html">Operations on multiple files</a></span></dt><dt><span class="section"><a href="ch15s03.html">Mime monitoring</a></span></dt></dl></div><div class="table"><a name="gnome-vfs-vs-gio"></a><p class="title"><b>Table&#160;5.&#160;Comparison of GnomeVFS and GIO concepts</b></p><div class="table-contents"><table summary="Comparison of GnomeVFS and GIO concepts" border="1"><colgroup><col><col></colgroup><thead><tr><th>GnomeVFS</th><th>GIO</th></tr></thead><tbody><tr><td>GnomeVFSURI</td><td>GFile</td></tr><tr><td>GnomeVFSFileInfo</td><td>GFileInfo</td></tr><tr><td>GnomeVFSResult</td><td>GError, with G_IO_ERROR values</td></tr><tr><td>GnomeVFSHandle &amp; GnomeVFSAsyncHandle</td><td>GInputStream or GOutputStream</td></tr><tr><td>GnomeVFSDirectoryHandle</td><td>GFileEnumerator</td></tr><tr><td>mime type</td><td>content type</td></tr><tr><td>GnomeVFSMonitor</td><td>GFileMonitor</td></tr><tr><td>GnomeVFSVolumeMonitor</td><td>GVolumeMonitor</td></tr><tr><td>GnomeVFSVolume</td><td>GMount</td></tr><tr><td>GnomeVFSDrive</td><td>GVolume</td></tr><tr><td>-</td><td>GDrive</td></tr><tr><td>GnomeVFSContext</td><td>GCancellable</td></tr><tr><td>gnome_vfs_async_cancel</td><td>g_cancellable_cancel</td></tr></tbody></table></div></div><br class="table-break"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3097667"></a>Trash handling</h2></div></div></div><p>        The handling of trashed files has been changed in GIO, compared        to gnome-vfs. gnome-vfs has a home-grown trash implementation that         predates the freedesktop.org <a class="ulink" href="http://www.freedesktop.org/wiki/Specifications/trash-spec" target="_top">Desktop Trash Can</a> specification        that is implemented in GIO. The location for storing trashed files         has changed from <code class="filename">$HOME/.Trash</code> to         <code class="filename">$HOME/.local/share/Trash</code> (or more correctly        <code class="filename">$XDG_DATA_HOME/Trash</code>), which means that         there is a need for migrating files that have been trashed by         gnome-vfs to the new location.      </p><p>        In gnome-vfs, the <code class="filename">trash://</code> scheme offering a         merged view of all trash directories was implemented in nautilus,        and trash-handling applications had to find and monitor all trash         directories themselves. With GIO, the <code class="filename">trash://</code>        implementation has been moved to gvfs and applications can simply        monitor that location:      </p><div class="informalexample"><pre class="programlisting">static voidfile_changed (GFileMonitor      *file_monitor,              GFile             *child,              GFile             *other_file,              GFileMonitorEvent  event_type,              gpointer           user_data){  switch (event_type)  {  case G_FILE_MONITOR_EVENT_DELETED:    g_print ("'%s' removed from trash\n", g_file_get_basename (child));    break;  case G_FILE_MONITOR_EVENT_CREATED:    g_print ("'%s' added to trash\n", g_file_get_basename (child));    break;  default: ;  }}static voidstart_monitoring_trash (void){  GFile *file;  GFileMonitor *monitor;  file = g_file_new_for_uri ("trash://");  monitor = g_file_monitor_directory (file, 0, NULL, NULL);  g_object_unref (file);  g_signal_connect (monitor, "changed", G_CALLBACK (file_changed), NULL);  /* ... */}       </pre></div><p>        GIO exposes some useful metadata about trashed files. There are        trash::orig-path and trash::deletion-date attributes. The         standard::icon attribute of the <code class="filename">trash://</code>         itself provides a suitable icon for displaying the trash can on         the desktop. If you are using this icon, make sure to monitor        this attribute for changes, since the icon may be updated to        reflect that state of the trash can.      </p><p>	Moving a file to the trash is much simpler with GIO. Instead of        using <code class="function">gnome_vfs_find_directory()</code> with <code class="literal">GNOME_VFS_DIRECTORY_KIND_TRASH</code>         to find out where to move the trashed file, just use the <a class="link" href="GFile.html#g-file-trash"><code class="function">g_file_trash()</code></a>        function.      </p></div></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -