mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows: Solve UI language change not taken into account for new install unless a preference is changed. Code refactoring.
This commit is contained in:
@@ -8713,9 +8713,50 @@ char *ConfigReadString (char *configKey, char *defaultValue, char *str, int maxL
|
||||
if (ConfigRead (configKey, str, maxLen))
|
||||
return str;
|
||||
else
|
||||
{
|
||||
StringCbCopyA (str, maxLen, defaultValue);
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigReadCompareInt(char *configKey, int defaultValue, int* pOutputValue, BOOL bOnlyCheckModified, BOOL* pbModified)
|
||||
{
|
||||
int intValue = ConfigReadInt (configKey, defaultValue);
|
||||
if (pOutputValue)
|
||||
{
|
||||
if (pbModified && (*pOutputValue != intValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
*pOutputValue = intValue;
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigReadCompareString (char *configKey, char *defaultValue, char *str, int maxLen, BOOL bOnlyCheckModified, BOOL *pbModified)
|
||||
{
|
||||
char *strValue = (char*) malloc (maxLen);
|
||||
if (strValue)
|
||||
{
|
||||
memcpy (strValue, str, maxLen);
|
||||
|
||||
ConfigReadString (configKey, defaultValue, strValue, maxLen);
|
||||
|
||||
if (pbModified && strcmp (str, strValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
memcpy(str, strValue, maxLen);
|
||||
|
||||
free (strValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* allocation failed. Suppose that value changed */
|
||||
if (pbModified)
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
ConfigReadString (configKey, defaultValue, str, maxLen);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void OpenPageHelp (HWND hwndDlg, int nPage)
|
||||
{
|
||||
|
||||
@@ -425,6 +425,8 @@ BOOL ConfigWriteString (char *configKey, char *configValue);
|
||||
BOOL ConfigWriteInt (char *configKey, int configValue);
|
||||
int ConfigReadInt (char *configKey, int defaultValue);
|
||||
char *ConfigReadString (char *configKey, char *defaultValue, char *str, int maxLen);
|
||||
void ConfigReadCompareInt(char *configKey, int defaultValue, int* pOutputValue, BOOL bOnlyCheckModified, BOOL* pbModified);
|
||||
void ConfigReadCompareString (char *configKey, char *defaultValue, char *str, int maxLen, BOOL bOnlyCheckModified, BOOL *pbModified);
|
||||
void RestoreDefaultKeyFilesParam (void);
|
||||
BOOL LoadDefaultKeyFilesParam (void);
|
||||
void Debug (char *format, ...);
|
||||
|
||||
@@ -714,33 +714,6 @@ static BOOL CreatingHiddenSysVol (void)
|
||||
&& bHiddenVol && !bHiddenVolHost);
|
||||
}
|
||||
|
||||
static void ConfigReadCompareInt(char *configKey, int defaultValue, int* pOutputValue, BOOL bOnlyCheckModified, BOOL* pbModified)
|
||||
{
|
||||
int intValue = ConfigReadInt (configKey, defaultValue);
|
||||
if (pOutputValue)
|
||||
{
|
||||
if (pbModified && (*pOutputValue != intValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
*pOutputValue = intValue;
|
||||
}
|
||||
}
|
||||
|
||||
static void ConfigReadCompareString (char *configKey, char *defaultValue, char *str, int maxLen, BOOL bOnlyCheckModified, BOOL *pbModified)
|
||||
{
|
||||
char *strValue = (char*) malloc (maxLen);
|
||||
memcpy (strValue, str, maxLen);
|
||||
|
||||
ConfigReadString (configKey, defaultValue, strValue, maxLen);
|
||||
|
||||
if (pbModified && strcmp (str, strValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
memcpy(str, strValue, maxLen);
|
||||
|
||||
free (strValue);
|
||||
}
|
||||
|
||||
static void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* pbSettingsModified, BOOL* pbHistoryModified)
|
||||
{
|
||||
if (!bOnlyCheckModified)
|
||||
|
||||
@@ -639,45 +639,6 @@ static string ResolveAmbiguousSelection (HWND hwndDlg, int *driveNoPtr)
|
||||
return retPath;
|
||||
}
|
||||
|
||||
static void ConfigReadCompareInt(char *configKey, int defaultValue, int* pOutputValue, BOOL bOnlyCheckModified, BOOL* pbModified)
|
||||
{
|
||||
int intValue = ConfigReadInt (configKey, defaultValue);
|
||||
if (pOutputValue)
|
||||
{
|
||||
if (pbModified && (*pOutputValue != intValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
*pOutputValue = intValue;
|
||||
}
|
||||
}
|
||||
|
||||
static void ConfigReadCompareString (char *configKey, char *defaultValue, char *str, int maxLen, BOOL bOnlyCheckModified, BOOL *pbModified)
|
||||
{
|
||||
char *strValue = (char*) malloc (maxLen);
|
||||
if (strValue)
|
||||
{
|
||||
memcpy (strValue, str, maxLen);
|
||||
|
||||
ConfigReadString (configKey, defaultValue, strValue, maxLen);
|
||||
|
||||
if (pbModified && strcmp (str, strValue))
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
memcpy(str, strValue, maxLen);
|
||||
|
||||
free (strValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* allocation failed. Suppose that value changed */
|
||||
if (pbModified)
|
||||
*pbModified = TRUE;
|
||||
if (!bOnlyCheckModified)
|
||||
ConfigReadString (configKey, defaultValue, str, maxLen);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* pbSettingsModified, BOOL* pbHistoryModified)
|
||||
{
|
||||
char langid[6] = {0};
|
||||
@@ -767,7 +728,7 @@ void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL*
|
||||
if (LOWORD (lLetter) != 0xffff)
|
||||
StringCbPrintfA (szTmp, sizeof(szTmp), "%c:", (char) HIWORD (lLetter));
|
||||
|
||||
ConfigReadCompareString ("LastSelectedDrive", "", szDriveLetter, sizeof (szDriveLetter), bOnlyCheckModified, pbSettingsModified);
|
||||
ConfigReadCompareString ("LastSelectedDrive", "", szTmp, sizeof (szTmp), bOnlyCheckModified, pbSettingsModified);
|
||||
}
|
||||
|
||||
ConfigReadCompareString ("SecurityTokenLibrary", "", SecurityTokenLibraryPath, sizeof (SecurityTokenLibraryPath) - 1, bOnlyCheckModified, pbSettingsModified);
|
||||
|
||||
Reference in New Issue
Block a user