summaryrefslogtreecommitdiff
path: root/src/env.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-09-08 03:49:33 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-09-09 01:32:12 -0400
commite08e605c85a1f62f4b6b83f5404457f5dc55654a (patch)
tree46ff725d9f2632a896fb303e201258f644e032c9 /src/env.cpp
parent99fdbb2539227cec4fab534efc7420cfc5ca1a92 (diff)
added missing include guards
log free space on drives involved in paths
Diffstat (limited to 'src/env.cpp')
-rw-r--r--src/env.cpp40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/env.cpp b/src/env.cpp
index 641eb4a7..4628e3f4 100644
--- a/src/env.cpp
+++ b/src/env.cpp
@@ -4,6 +4,7 @@
#include "envsecurity.h"
#include "envshortcut.h"
#include "envwindows.h"
+#include "settings.h"
#include <log.h>
#include <utility.h>
@@ -85,7 +86,7 @@ const Metrics& Environment::metrics() const
return *m_metrics;
}
-void Environment::dump() const
+void Environment::dump(const Settings& s) const
{
log::debug("windows: {}", m_windows->toString());
@@ -107,6 +108,43 @@ void Environment::dump() const
for (const auto& d : m_metrics->displays()) {
log::debug(" . {}", d.toString());
}
+
+ dumpDisks(s);
+}
+
+void Environment::dumpDisks(const Settings& s) const
+{
+ std::set<QString> rootPaths;
+
+ auto dump = [&](auto&& path) {
+ const QFileInfo fi(path);
+ const QStorageInfo si(fi.absoluteFilePath());
+
+ if (rootPaths.contains(si.rootPath())) {
+ // already seen
+ return;
+ }
+
+ // remember
+ rootPaths.insert(si.rootPath());
+
+ log::debug(
+ " . {} free={} MB{}",
+ si.rootPath(),
+ (si.bytesFree() / 1000 / 1000),
+ (si.isReadOnly() ? " (readonly)" : ""));
+ };
+
+ log::debug("drives:");
+
+ dump(QStorageInfo::root().rootPath());
+ dump(s.paths().base());
+ dump(s.paths().downloads());
+ dump(s.paths().mods());
+ dump(s.paths().cache());
+ dump(s.paths().profiles());
+ dump(s.paths().overwrite());
+ dump(QCoreApplication::applicationDirPath());
}