mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 20:57:22 +01:00
do not allow to set paths containing onedrive
This commit is contained in:
parent
07aa0d821c
commit
4e715c8eb3
1 changed files with 7 additions and 0 deletions
|
|
@ -68,6 +68,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
||||||
private bool _isDirectoryWritable = false;
|
private bool _isDirectoryWritable = false;
|
||||||
|
|
||||||
private bool _isPenumbraDirectory = false;
|
private bool _isPenumbraDirectory = false;
|
||||||
|
private bool _isOneDrive = false;
|
||||||
|
|
||||||
private bool _penumbraExists = false;
|
private bool _penumbraExists = false;
|
||||||
|
|
||||||
|
|
@ -567,6 +568,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
||||||
{
|
{
|
||||||
if (!success) return;
|
if (!success) return;
|
||||||
|
|
||||||
|
_isOneDrive = path.Contains("onedrive", StringComparison.OrdinalIgnoreCase);
|
||||||
_isPenumbraDirectory = string.Equals(path.ToLowerInvariant(), _ipcManager.PenumbraModDirectory?.ToLowerInvariant(), StringComparison.Ordinal);
|
_isPenumbraDirectory = string.Equals(path.ToLowerInvariant(), _ipcManager.PenumbraModDirectory?.ToLowerInvariant(), StringComparison.Ordinal);
|
||||||
_isDirectoryWritable = IsDirectoryWritable(path);
|
_isDirectoryWritable = IsDirectoryWritable(path);
|
||||||
_cacheDirectoryHasOtherFilesThanCache = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Any(f => Path.GetFileNameWithoutExtension(f).Length != 40);
|
_cacheDirectoryHasOtherFilesThanCache = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Any(f => Path.GetFileNameWithoutExtension(f).Length != 40);
|
||||||
|
|
@ -576,6 +578,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
||||||
&& Directory.Exists(path)
|
&& Directory.Exists(path)
|
||||||
&& _isDirectoryWritable
|
&& _isDirectoryWritable
|
||||||
&& !_isPenumbraDirectory
|
&& !_isPenumbraDirectory
|
||||||
|
&& !_isOneDrive
|
||||||
&& !_cacheDirectoryHasOtherFilesThanCache
|
&& !_cacheDirectoryHasOtherFilesThanCache
|
||||||
&& _cacheDirectoryIsValidPath)
|
&& _cacheDirectoryIsValidPath)
|
||||||
{
|
{
|
||||||
|
|
@ -596,6 +599,10 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
||||||
{
|
{
|
||||||
ColorTextWrapped("Do not point the storage path directly to the Penumbra directory. If necessary, make a subfolder in it.", ImGuiColors.DalamudRed);
|
ColorTextWrapped("Do not point the storage path directly to the Penumbra directory. If necessary, make a subfolder in it.", ImGuiColors.DalamudRed);
|
||||||
}
|
}
|
||||||
|
else if (_isOneDrive)
|
||||||
|
{
|
||||||
|
ColorTextWrapped("Do not point the storage path to a folder in OneDrive. Do not use OneDrive folders for any Mod related functionality.", ImGuiColors.DalamudRed);
|
||||||
|
}
|
||||||
else if (!_isDirectoryWritable)
|
else if (!_isDirectoryWritable)
|
||||||
{
|
{
|
||||||
ColorTextWrapped("The folder you selected does not exist or cannot be written to. Please provide a valid path.", ImGuiColors.DalamudRed);
|
ColorTextWrapped("The folder you selected does not exist or cannot be written to. Please provide a valid path.", ImGuiColors.DalamudRed);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue