信号
GioFileMonitor::changed
声明
void
changed (
GFileMonitor* self,
GioFile* file,
GioFile* other_file,
GFileMonitorEvent event_type,
gpointer user_data
)
描述 [源代码]
当文件已被更改时发出。
如果在目录监视器上使用 G_FILE_MONITOR_WATCH_MOVES
,且信息可用(并且由后端支持),则 event_type
可能是 G_FILE_MONITOR_EVENT_RENAMED
、G_FILE_MONITOR_EVENT_MOVED_IN
或 G_FILE_MONITOR_EVENT_MOVED_OUT
。
在所有情况下,file
都将是监视目录的子目录。对于重命名,file
将是旧名称,other_file
是新名称。对于“移动进入”事件,file
是新出现的文件的名称,而 other_file
是它从(其他目录)移动出来的旧名称。对于“移动出去”事件,file
是原在此目录中的文件的名称,而 other_file
是其在新位置上的文件名称。
有意义地将 G_FILE_MONITOR_EVENT_MOVED_IN
视为等同于 G_FILE_MONITOR_EVENT_CREATED
,将 G_FILE_MONITOR_EVENT_MOVED_OUT
视为等同于 G_FILE_MONITOR_EVENT_DELETED
,并提供额外的信息。 G_FILE_MONITOR_EVENT_RENAMED
等同于一对删除/创建操作。这是在没有使用 G_FILE_MONITOR_WATCH_MOVES
标志时事件将如何报告的方式。
如果使用已废弃的标志 G_FILE_MONITOR_SEND_MOVED
并将 event_type
设置为 G_FILE_MONITOR_EVENT_MOVED
,则 file
将设置为包含旧路径的 GFile
,而 other_file
将设置为包含新路径的 GFile
。
在所有其他情况下,other_file
将设置为 NULL
。
默认处理程序 默认处理程序在通过 |