Support symlinks, also on Windows!

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25988 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2008-07-29 18:13:52 +00:00
parent dba8932453
commit a06fd8abc5

View File

@ -811,12 +811,19 @@ docstring const FileName::relPath(string const & path) const
bool operator==(FileName const & lhs, FileName const & rhs) bool operator==(FileName const & lhs, FileName const & rhs)
{ {
// FIXME: We need to solve these warnings from documentations: // FIXME: We need to solve this warning from Qt documentation:
// * This will not compare two different symbolic links pointing to the same
// file.
// * Long and short file names that refer to the same file on Windows are // * Long and short file names that refer to the same file on Windows are
// treated as if they referred to different files. // treated as if they referred to different files.
return lhs.d->fi == rhs.d->fi; if (!lhs.d->fi.isSymLink() && !rhs.d->fi.isSymLink())
return lhs.d->fi == rhs.d->fi;
QFileInfo fi1(lhs.d->fi);
if (fi1.isSymLink())
fi1 = QFileInfo(fi1.symLinkTarget());
QFileInfo fi2(rhs.d->fi);
if (fi2.isSymLink())
fi2 = QFileInfo(fi2.symLinkTarget());
return fi1 == fi2;
} }