Mercurial > hg > svcore
diff base/TempDirectory.cpp @ 170:b23eea68357e
* flesh out StorageAdviser
author | Chris Cannam |
---|---|
date | Tue, 26 Sep 2006 12:58:12 +0000 |
parents | 4b2ea82fd0ed |
children | 1d656dcda8ef |
line wrap: on
line diff
--- a/base/TempDirectory.cpp Mon Sep 25 20:32:44 2006 +0000 +++ b/base/TempDirectory.cpp Tue Sep 26 12:58:12 2006 +0000 @@ -20,6 +20,7 @@ #include <QDir> #include <QFile> #include <QMutexLocker> +#include <QSettings> #include <iostream> #include <cassert> @@ -58,16 +59,23 @@ if (m_tmpdir != "") return m_tmpdir; + QSettings settings; + settings.beginGroup("TempDirectory"); + QString svDirParent = settings.value("create-in", "$HOME").toString(); + settings.endGroup(); + + svDirParent.replace("$HOME", QDir::home().absolutePath()); + QString svDirBase = ".sv1"; - QString svDir = QDir::home().filePath(svDirBase); + QString svDir = QDir(svDirParent).filePath(svDirBase); if (!QFileInfo(svDir).exists()) { - if (!QDir::home().mkdir(svDirBase)) { - throw DirectoryCreationFailed(QString("%1 directory in $HOME") - .arg(svDirBase)); + if (!QDir(svDirParent).mkdir(svDirBase)) { + throw DirectoryCreationFailed(QString("%1 directory in %2") + .arg(svDirBase).arg(svDirParent)); } } else if (!QFileInfo(svDir).isDir()) { - throw DirectoryCreationFailed(QString("$HOME/%1 is not a directory") - .arg(svDirBase)); + throw DirectoryCreationFailed(QString("%1/%2 is not a directory") + .arg(svDirParent).arg(svDirBase)); } cleanupAbandonedDirectories(svDir);