信号
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。
| 默认处理程序 默认处理程序在通过 |