Data Directory changes

1.Added data directory check for desktop.
2. Set default data directory to root folder of installation path.
This commit is contained in:
Brett Hewitson 2021-12-01 12:50:21 +10:00
parent 1767cd0a83
commit e3dd4201fc
10 changed files with 38 additions and 20 deletions

View file

@ -419,6 +419,9 @@ namespace ServerManagerTool
if (!installationFolder.EndsWith(@"\"))
installationFolder += @"\";
var desktopFolder1 = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var desktopFolder2 = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
while (String.IsNullOrWhiteSpace(Config.Default.DataDir))
{
var dialog = new CommonOpenFileDialog
@ -427,7 +430,7 @@ namespace ServerManagerTool
IsFolderPicker = true,
Multiselect = false,
Title = _globalizer.GetResourceString("Application_DataDirectory_DialogTitle"),
InitialDirectory = installationFolder
InitialDirectory = Path.GetPathRoot(installationFolder)
};
if (dialog.ShowDialog() != CommonFileDialogResult.Ok)
@ -445,7 +448,12 @@ namespace ServerManagerTool
if (newDataFolder.StartsWith(installationFolder))
{
confirm = MessageBoxResult.No;
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_WithinInstallFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_WithinInstallFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_DataDirectoryFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
}
else if (newDataFolder.StartsWith(desktopFolder1) || newDataFolder.StartsWith(desktopFolder2))
{
confirm = MessageBoxResult.No;
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_DataDirectoryWithinDesktopFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_DataDirectoryFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{

View file

@ -65,8 +65,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Wähle ein Datenverzeichnis</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Bestätige Auswahl</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">Der Server Manager speichert Profile und SteamCMD in den folgenden Verzeichnissen:\r\n\r\nProfile: {0}\r\nSteamCMD: {1}\r\n\r\nIst das in Ordnung?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Fehler bei Auswahl des Datenverzeichnisses</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">Das von Dir ausgewählte Verzeichnis befindet sich im Installationsordner des Server-Managers. Dies wird nicht empfohlen, bitte wähle einen anderen Ordner.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Fehler bei Auswahl des Datenverzeichnisses</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">Das von Dir ausgewählte Verzeichnis befindet sich im Installationsordner des Server-Managers. Dies wird nicht empfohlen, bitte wähle einen anderen Ordner.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Profil konnte nicht gespeichert werden</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Profil konnte nicht gespeichert werden {0}. {1}\n{2}</sys:String>

View file

@ -72,8 +72,9 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Select a Data Directory</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Confirm location</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">The server manager will store profiles and SteamCMD in the following directories:\r\n\r\nProfiles: {0}\r\nSteamCMD: {1}\r\n\r\nIs this ok?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Data Directory Selection Error</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">The directory you have chosen is within the server manager installation folder. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Data Directory Selection Error</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">The directory you have chosen is within the server manager installation folder. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinDesktopFolderErrorLabel">The directory you have chosen is on the desktop. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Failed to save profile</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Failed to save profile {0}. {1}\n{2}</sys:String>

View file

@ -65,8 +65,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Seleccionar un directorio de datos</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Confirmar ubicación</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">El gestor de servidores almacenará los perfiles y SteamCMD en los siguientes directorios:\r\n\r\nPerfiles: {0}\r\nSteamCMD: {1}\r\n\r\n¿Es correcto?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Error de selección de directorio de datos</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">El directorio que has elegido está en la carpeta de instalación del gestor de servidores, lo que no se recomienda. Por favor elige otra carpeta.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Error de selección de directorio de datos</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">El directorio que has elegido está en la carpeta de instalación del gestor de servidores, lo que no se recomienda. Por favor elige otra carpeta.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Fallo al guardar el perfil</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Falló el guardado del perfil {0}. {1}\n{2}</sys:String>

View file

@ -66,8 +66,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Sélectionnez un répertoire de données</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Confirmer l'emplacement</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">Ark Server Manager stockera les profils et SteamCMD dans les répertoires suivants:\r\n\r\n Profils:{0}\r\n SteamCMD:{1}\r\n\r\n Est-ce correct?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Erreur de sélection du répertoire de données</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">Le répertoire que vous avez choisi se trouve dans le dossier d'installation du gestionnaire du serveur. Ce n'est pas recommandé, veuillez choisir un autre dossier.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Erreur de sélection du répertoire de données</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">Le répertoire que vous avez choisi se trouve dans le dossier d'installation du gestionnaire du serveur. Ce n'est pas recommandé, veuillez choisir un autre dossier.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Échec de l'enregistrement du profil</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Échec de l'enregistrement du profil {0}. {1}\n{2}</sys:String>

View file

@ -66,8 +66,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Selecione um diretório de dados</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Confirme a localização</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">O Ark Server Manager armazenará os perfis e o SteamCMD nos seguintes diretórios:\r\n\r\nProfiles: {0}\r\nSteamCMD: {1}\r\n\r\n Está tudo bem?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Erro na seleção do diretório de dados</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">O diretório que você escolheu está dentro da pasta de instalação do gerenciador de servidor. Isso não é recomendado, escolha outra pasta.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Erro na seleção do diretório de dados</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">O diretório que você escolheu está dentro da pasta de instalação do gerenciador de servidor. Isso não é recomendado, escolha outra pasta.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Não foi possível guardar o perfil</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Não foi possível guardar o perfil {0}. {1}\n{2}</sys:String>

View file

@ -66,8 +66,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Выберите каталог данных</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Подтвердить расположение</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">Ark Server Manager будет хранить профили и SteamCMD в следующих каталогах:\r\n\r\nПрофили: {0}\r\nSteamCMD: {1}\r\n\r\nВы подтверждаете?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Выбор каталога данных ошибок</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">Каталог, который вы выбрали, находится в папке установки менеджера сервера. Это не рекомендуется, пожалуйста, выберите другую папку.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Выбор каталога данных ошибок</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">Каталог, который вы выбрали, находится в папке установки менеджера сервера. Это не рекомендуется, пожалуйста, выберите другую папку.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Ошибка сохранения профиля</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Ошибка сохранения профиля {0}. {1}\n{2}</sys:String>

View file

@ -73,8 +73,8 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">选择一个数据目录</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">确认位置</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">方舟服务器管理工具将存储配置文件和steamcmd以下目录:\r\n\r\n配置文件: {0}\r\nSteamCMD: {1}\r\n\r\n这样可以吗</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">数据目录选择错误</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">您选择的目录在服务器管理器安装文件夹中。 不建议这样做,请选择另一个文件夹。</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">数据目录选择错误</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">您选择的目录在服务器管理器安装文件夹中。 不建议这样做,请选择另一个文件夹。</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">保存配置文件失败</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">保存配置文件失败 {0}. {1}\n{2}</sys:String>

View file

@ -402,6 +402,9 @@ namespace ServerManagerTool
if (!installationFolder.EndsWith(@"\"))
installationFolder += @"\";
var desktopFolder1 = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var desktopFolder2 = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
while (String.IsNullOrWhiteSpace(Config.Default.DataPath))
{
var dialog = new CommonOpenFileDialog
@ -410,7 +413,7 @@ namespace ServerManagerTool
IsFolderPicker = true,
Multiselect = false,
Title = _globalizer.GetResourceString("Application_DataDirectory_DialogTitle"),
InitialDirectory = installationFolder
InitialDirectory = Path.GetPathRoot(installationFolder)
};
if (dialog.ShowDialog() != CommonFileDialogResult.Ok)
@ -428,7 +431,12 @@ namespace ServerManagerTool
if (newDataFolder.StartsWith(installationFolder))
{
confirm = MessageBoxResult.No;
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_WithinInstallFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_WithinInstallFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_DataDirectoryFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
}
else if (newDataFolder.StartsWith(desktopFolder1) || newDataFolder.StartsWith(desktopFolder2))
{
confirm = MessageBoxResult.No;
MessageBox.Show(_globalizer.GetResourceString("Application_DataDirectory_DataDirectoryWithinDesktopFolderErrorLabel"), _globalizer.GetResourceString("Application_DataDirectory_DataDirectoryFolderErrorTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{

View file

@ -97,8 +97,9 @@
<sys:String x:Key="Application_DataDirectory_DialogTitle">Select a Data Directory</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmTitle">Confirm location</sys:String>
<sys:String x:Key="Application_DataDirectory_ConfirmLabel">The server manager will store profiles and SteamCMD in the following directories:\r\n\r\nProfiles: {0}\r\nSteamCMD: {1}\r\n\r\nIs this ok?</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorTitle">Data Directory Selection Error</sys:String>
<sys:String x:Key="Application_DataDirectory_WithinInstallFolderErrorLabel">The directory you have chosen is within the server manager installation folder. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryFolderErrorTitle">Data Directory Selection Error</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinInstallFolderErrorLabel">The directory you have chosen is within the server manager installation folder. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_DataDirectory_DataDirectoryWithinDesktopFolderErrorLabel">The directory you have chosen is on the desktop. This is not recommended, please choose another folder.</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedTitle">Failed to save profile</sys:String>
<sys:String x:Key="Application_Profile_SaveFailedLabel">Failed to save profile {0}. {1}\n{2}</sys:String>