summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llfilesystem/lldiskcache.cpp20
-rw-r--r--indra/llfilesystem/lldiskcache.h22
-rw-r--r--indra/newview/llappviewer.cpp3
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml3
4 files changed, 28 insertions, 20 deletions
diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp
index 4b82cf3cce..455e27221e 100644
--- a/indra/llfilesystem/lldiskcache.cpp
+++ b/indra/llfilesystem/lldiskcache.cpp
@@ -187,8 +187,6 @@ const std::string LLDiskCache::metaDataToFilepath(const std::string id,
file_path << assetTypeToString(at);
file_path << ".asset";
- LL_INFOS() << "filepath.str() = " << file_path.str() << LL_ENDL;
-
return file_path.str();
}
@@ -204,6 +202,24 @@ void LLDiskCache::updateFileAccessTime(const std::string file_path)
}
/**
+ *
+ */
+const std::string LLDiskCache::getCacheInfo()
+{
+ std::ostringstream cache_info;
+
+ F32 max_in_mb = (F32)mMaxSizeBytes / (1024.0 * 1024.0);
+ F32 percent_used = ((F32)dirFileSize(mCacheDir) / (F32)mMaxSizeBytes) * 100.0;
+
+ cache_info << std::fixed;
+ cache_info << std::setprecision(1);
+ cache_info << "Max size " << max_in_mb << " MB ";
+ cache_info << "(" << percent_used << "% used)";
+
+ return cache_info.str();
+}
+
+/**
* Clear the cache by removing all the files in the cache directory
* individually. It's important to maintain control of which directory
* if passed in and not let the user inadvertently (or maliciously) set
diff --git a/indra/llfilesystem/lldiskcache.h b/indra/llfilesystem/lldiskcache.h
index 12599a132e..34a4fda756 100644
--- a/indra/llfilesystem/lldiskcache.h
+++ b/indra/llfilesystem/lldiskcache.h
@@ -40,23 +40,6 @@ class LLDiskCache :
virtual ~LLDiskCache() = default;
public:
- ///**
- // * The location of the cache dir is set in llappviewer at startup via the
- // * saved settings parameters. We do not have access to those saved settings
- // * here in LLCommon so we must provide an accessor for other classes to use
- // * when they need it - e.g. LLFilesystem needs the path so it can write files
- // * to it.
- // */
- //const std::string getCacheDirName() { return mCacheDir; }
-
- ///**
- // * Each cache filename has a prefix inserted (see definition of the
- // * mCacheFilenamePrefix variable below for why) but the LLFileSystem
- // * component needs access to it to in order to create the file so we
- // * expose it by a getter here.
- // */
- //const std::string getCacheFilenamePrefix() { return mCacheFilenamePrefix; }
-
/**
* Construct a filename and path to it based on the file meta data
* (id, asset type, additional 'extra' info like discard level perhaps)
@@ -86,6 +69,11 @@ class LLDiskCache :
*/
void clearCache(const std::string cache_dir);
+ /**
+ * Return some information about the cache for use in About Box etc.
+ */
+ const std::string getCacheInfo();
+
private:
/**
* Utility function to gather the total size the files in a given
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 1914ca89de..afafedf207 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3196,6 +3196,9 @@ LLSD LLAppViewer::getViewerInfo() const
info["SERVER_RELEASE_NOTES_URL"] = mServerReleaseNotesURL;
}
+ // populate field for new local disk cache with some details
+ info["DISK_CACHE_INFO"] = LLDiskCache::getInstance()->getCacheInfo();
+
return info;
}
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 03aed8aa7e..619c869a3d 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -55,8 +55,9 @@ LOD factor: [LOD_FACTOR]
Render quality: [RENDER_QUALITY]
Advanced Lighting Model: [GPU_SHADERS]
Texture memory: [TEXTURE_MEMORY]MB
+Disk cache: [DISK_CACHE_INFO]
</string>
- <string name="AboutOSXHiDPI">
+ <string name="AboutOSXHiDPI">
HiDPI display mode: [HIDPI]
</string>
<string name="AboutLibs">