Browse Source

Free disk space calculation also works if the destination path does not exist

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
0d85d0a777
  1. 8
      src/misc.cpp

8
src/misc.cpp

@ -134,9 +134,15 @@ QString misc::QDesktopServicesCacheLocation() {
long long misc::freeDiskSpaceOnPath(QString path) { long long misc::freeDiskSpaceOnPath(QString path) {
if(path.isEmpty()) return -1; if(path.isEmpty()) return -1;
path = path.replace("\\", "/");
QDir dir_path(path); QDir dir_path(path);
if(!dir_path.exists()) { if(!dir_path.exists()) {
if(!dir_path.cdUp()) return -1; QStringList parts = path.split("/");
while (parts.size() > 1 && !QDir(parts.join("/")).exists()) {
parts.removeLast();
}
dir_path = QDir(parts.join("/"));
if(!dir_path.exists()) return -1;
} }
Q_ASSERT(dir_path.exists()); Q_ASSERT(dir_path.exists());
#ifndef Q_WS_WIN #ifndef Q_WS_WIN

Loading…
Cancel
Save