Changed: Created and used isDirectoryWritable() function

This commit is contained in:
kervala 2016-10-09 15:09:30 +02:00
parent d3a72f1506
commit 9721582940
4 changed files with 18 additions and 20 deletions

View file

@ -118,16 +118,7 @@ void CInstallDialog::accept()
if (succeedsToWrite)
{
// check if directory is writable by current user
QFile file(m_dstDirectory + "/writable_test_for_ryzom_installer.txt");
if (file.open(QFile::WriteOnly))
{
file.close();
// remove it
file.remove();
}
else
if (!isDirectoryWritable(m_dstDirectory))
{
succeedsToWrite = false;
}

View file

@ -133,16 +133,7 @@ void CMigrateDialog::accept()
if (succeedsToWrite)
{
// check if directory is writable by current user
QFile file(m_dstDirectory + "/writable_test_for_ryzom_installer.txt");
if (file.open(QFile::WriteOnly))
{
file.close();
// remove it
file.remove();
}
else
if (!isDirectoryWritable(m_dstDirectory))
{
succeedsToWrite = false;
}

View file

@ -102,6 +102,21 @@ bool isDirectoryEmpty(const QString &directory, bool recursize)
return res;
}
bool isDirectoryWritable(const QString &directory)
{
// check if directory is writable by current user
QFile file(directory + "/writable_test_for_ryzom_installer.txt");
if (!file.open(QFile::WriteOnly)) return false;
file.close();
// remove it
file.remove();
return true;
}
qint64 getDirectorySize(const QString &directory, bool recursize)
{
qint64 size = 0;

View file

@ -32,6 +32,7 @@ QString qBytesToHumanReadable(qint64 bytes);
QString nameToId(const QString &name);
bool isDirectoryEmpty(const QString &directory, bool recursize);
bool isDirectoryWritable(const QString &directory);
qint64 getDirectorySize(const QString &directory, bool recursize);