Visually validate input path in torrent creator dialog

PR #19245.
This commit is contained in:
Chocobo1
2023-07-02 12:56:41 +08:00
committed by GitHub
parent f4deb1050f
commit c3fc96dfe6
6 changed files with 48 additions and 17 deletions

View File

@@ -66,6 +66,16 @@ void Private::FileSystemPathValidator::setExistingOnly(const bool value)
m_existingOnly = value;
}
bool Private::FileSystemPathValidator::filesOnly() const
{
return m_filesOnly;
}
void Private::FileSystemPathValidator::setFilesOnly(const bool value)
{
m_filesOnly = value;
}
bool Private::FileSystemPathValidator::directoriesOnly() const
{
return m_directoriesOnly;
@@ -105,16 +115,17 @@ Private::FileSystemPathValidator::testPath(const Path &path) const
if (!info.exists())
return existingOnly() ? TestResult::DoesNotExist : TestResult::OK;
if (filesOnly())
{
if (!info.isFile())
return TestResult::NotAFile;
}
if (directoriesOnly())
{
if (!info.isDir())
return TestResult::NotADir;
}
else
{
if (!info.isFile())
return TestResult::NotAFile;
}
if (checkReadPermission() && !info.isReadable())
return TestResult::CantRead;