我正在使用KDE,我正在考虑攻击Dolphin文件管理器的代码(如果需要可能还有Konqueror)以获取上下文相关的拖放行为(即文件在同一分区中移动) ,如果它们在分区之间移动或者源是只读的,则进行复制。
要做到这一点,我想我需要找出源和目标的包含分区(在Windows上使用驱动器号很容易,但在Linux上,因为挂载点几乎可以在任何地方,它不能可靠地从文件路径派生),并比较它们。 有谁知道如何找到包含给定文件的分区?
一定是可能的 - 我知道Nautilus提供了这种行为,但是我对GTK不够熟悉,无法跟踪源代码中的相应部分,看看它是如何完成的......
答案 0 :(得分:3)
Qt不为此提供API。对于POSIX,请查看stat。
答案 1 :(得分:0)
对于KDE,您可以使用KIO::stat()
获取与POSIX'stat
函数大致相同的信息,但是异步。
设备ID应位于结果的UDS_DEVICE_ID
字段中。