Changed: Created and used isDirectoryWritable() function

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

View file

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

View file

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

View file

@ -102,6 +102,21 @@ bool isDirectoryEmpty(const QString &directory, bool recursize)
return res; 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 getDirectorySize(const QString &directory, bool recursize)
{ {
qint64 size = 0; qint64 size = 0;

View file

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