信号

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_RENAMEDG_FILE_MONITOR_EVENT_MOVED_ING_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

默认处理程序

默认处理程序在通过 g_signal_connect() 添加的处理程序之后调用。

参数

file

类型: GFile

一个 GFile

数据由函数的调用者拥有。
other_file

类型: GFile

GFileNULL

参数可以为 NULL
数据由函数的调用者拥有。
event_type

类型: GFileMonitorEvent

一个 GFileMonitorEvent