1
0
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:
Mounir IDRASSI
2015-08-16 17:36:36 +02:00
parent ba9af46662
commit 55a267a171
4 changed files with 44 additions and 67 deletions

View File

@@ -8713,9 +8713,50 @@ char *ConfigReadString (char *configKey, char *defaultValue, char *str, int maxL
if (ConfigRead (configKey, str, maxLen)) if (ConfigRead (configKey, str, maxLen))
return str; return str;
else else
{
StringCbCopyA (str, maxLen, defaultValue);
return 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) void OpenPageHelp (HWND hwndDlg, int nPage)
{ {

View File

@@ -425,6 +425,8 @@ BOOL ConfigWriteString (char *configKey, char *configValue);
BOOL ConfigWriteInt (char *configKey, int configValue); BOOL ConfigWriteInt (char *configKey, int configValue);
int ConfigReadInt (char *configKey, int defaultValue); int ConfigReadInt (char *configKey, int defaultValue);
char *ConfigReadString (char *configKey, char *defaultValue, char *str, int maxLen); 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); void RestoreDefaultKeyFilesParam (void);
BOOL LoadDefaultKeyFilesParam (void); BOOL LoadDefaultKeyFilesParam (void);
void Debug (char *format, ...); void Debug (char *format, ...);

View File

@@ -714,33 +714,6 @@ static BOOL CreatingHiddenSysVol (void)
&& bHiddenVol && !bHiddenVolHost); && 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) static void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* pbSettingsModified, BOOL* pbHistoryModified)
{ {
if (!bOnlyCheckModified) if (!bOnlyCheckModified)

View File

@@ -639,45 +639,6 @@ static string ResolveAmbiguousSelection (HWND hwndDlg, int *driveNoPtr)
return retPath; 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) void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* pbSettingsModified, BOOL* pbHistoryModified)
{ {
char langid[6] = {0}; char langid[6] = {0};
@@ -767,7 +728,7 @@ void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL*
if (LOWORD (lLetter) != 0xffff) if (LOWORD (lLetter) != 0xffff)
StringCbPrintfA (szTmp, sizeof(szTmp), "%c:", (char) HIWORD (lLetter)); 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); ConfigReadCompareString ("SecurityTokenLibrary", "", SecurityTokenLibraryPath, sizeof (SecurityTokenLibraryPath) - 1, bOnlyCheckModified, pbSettingsModified);