+ fix: some default .ini-File configuration

This commit is contained in:
Rainer Kottenhoff 2020-01-24 21:26:04 +01:00
parent 5dca09e047
commit 9edef3df7c
5 changed files with 20 additions and 14 deletions

View File

@ -3,6 +3,8 @@
;Notepad3.ini=%APPDATA%\Rizonesoft\Notepad3\Notepad3.ini
[Settings]
SettingsVersion=4
OpenWithDir=%USERPROFILE%\Desktop
Favorites=%USERPROFILE%\Favorites
[Settings2]
;IMEInteraction=0
;AutoReloadTimeout=2000

View File

@ -26,6 +26,7 @@ extern "C" {
#include "Dialogs.h"
#include "Encoding.h"
#include "Notepad3.h"
#include "MuiLanguage.h"
#include "resource.h"
}
@ -696,11 +697,16 @@ void LoadSettings()
// --------------------------------------------------------------------------
LANGID lngID = 0;
Defaults2.PreferredLanguageLocaleName[0] = L'\0';
GetUserPreferredLanguage(Defaults2.PreferredLanguageLocaleName, COUNTOF(Defaults2.PreferredLanguageLocaleName), &lngID);
IniSectionGetString(IniSecSettings2, L"PreferredLanguageLocaleName", Defaults2.PreferredLanguageLocaleName,
Settings2.PreferredLanguageLocaleName, COUNTOF(Settings2.PreferredLanguageLocaleName));
//_wsetlocale(LC_COLLATE, Settings2.PreferredLanguageLocaleName);
// --------------------------------------------------------------------------
StringCchCopyW(Defaults2.DefaultExtension, COUNTOF(Defaults2.DefaultExtension), L"txt");
IniSectionGetString(IniSecSettings2, L"DefaultExtension", Defaults2.DefaultExtension,
Settings2.DefaultExtension, COUNTOF(Settings2.DefaultExtension));
@ -901,7 +907,7 @@ void LoadSettings()
Defaults.EFR_Data.fuFlags = 0;
Settings.EFR_Data.fuFlags = (UINT)IniSectionGetInt(IniSecSettings, L"efrData_fuFlags", (int)Defaults.EFR_Data.fuFlags);
Defaults.OpenWithDir[0] = L'\0';
StringCchCopy(Defaults.OpenWithDir, COUNTOF(Defaults.OpenWithDir), L"%USERPROFILE%\\Desktop");
if (!IniSectionGetString(IniSecSettings, L"OpenWithDir", Defaults.OpenWithDir, Settings.OpenWithDir, COUNTOF(Settings.OpenWithDir))) {
GetKnownFolderPath(FOLDERID_Desktop, Settings.OpenWithDir, COUNTOF(Settings.OpenWithDir));
}
@ -909,8 +915,7 @@ void LoadSettings()
PathAbsoluteFromApp(Settings.OpenWithDir, NULL, COUNTOF(Settings.OpenWithDir), true);
}
Defaults.FavoritesDir[0] = L'\0';
//StringCchCopyW(Defaults.FavoritesDir, COUNTOF(Defaults.FavoritesDir), L"%USERPROFILE%");
StringCchCopyW(Defaults.FavoritesDir, COUNTOF(Defaults.FavoritesDir), L"%USERPROFILE%\\Favorites");
if (!IniSectionGetString(IniSecSettings, L"Favorites", Defaults.FavoritesDir, Settings.FavoritesDir, COUNTOF(Settings.FavoritesDir))) {
GetKnownFolderPath(FOLDERID_Favorites, Settings.FavoritesDir, COUNTOF(Settings.FavoritesDir));
}
@ -1494,15 +1499,7 @@ bool SaveSettings(bool bSaveSettingsNow)
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, CustomSchemesDlgSizeY);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, CustomSchemesDlgPosX);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, CustomSchemesDlgPosY);
// --------------------------------------------------------------------------
const WCHAR* const IniSecSettings2 = Constants.Settings2_Section;
// --------------------------------------------------------------------------
IniSectionSetString(IniSecSettings2, L"DefaultWindowPosition", Settings2.DefaultWindowPosition);
IniSectionSetString(IniSecSettings2, L"PreferredLanguageLocaleName", Settings2.PreferredLanguageLocaleName);
// --------------------------------------------------------------------------
const WCHAR* const IniSecWindow = Constants.Window_Section;
// --------------------------------------------------------------------------

View File

@ -140,7 +140,7 @@ static bool _LngStrToMultiLngStr(WCHAR* pLngStr, WCHAR* pLngMultiStr, size_t ln
// _GetUserPreferredLanguage
//
//
static bool _GetUserPreferredLanguage(LPWSTR pszPrefLocaleName, int cchBuffer, LANGID* pLangID)
bool GetUserPreferredLanguage(LPWSTR pszPrefLocaleName, int cchBuffer, LANGID* pLangID)
{
int res = 0;
LANGID lngID = *pLangID;
@ -209,10 +209,13 @@ LANGID LoadLanguageResources()
WCHAR wchLngLocalName[LOCALE_NAME_MAX_LENGTH];
StringCchCopy(wchLngLocalName, COUNTOF(wchLngLocalName), Settings2.PreferredLanguageLocaleName);
if (_GetUserPreferredLanguage(wchLngLocalName, COUNTOF(wchLngLocalName), &languageID)) {
if (GetUserPreferredLanguage(wchLngLocalName, COUNTOF(wchLngLocalName), &languageID)) {
// push-back (corrected) name found
StringCchCopy(Settings2.PreferredLanguageLocaleName, COUNTOF(Settings2.PreferredLanguageLocaleName), wchLngLocalName);
//_wsetlocale(LC_COLLATE, Settings2.PreferredLanguageLocaleName);
if (StringCchCompareXIW(Settings2.PreferredLanguageLocaleName, Defaults2.PreferredLanguageLocaleName) != 0) {
IniFileSetString(Globals.IniFile, Constants.Settings2_Section, L"PreferredLanguageLocaleName", Settings2.PreferredLanguageLocaleName);
}
}
// set the appropriate fallback list

View File

@ -33,6 +33,7 @@ typedef struct _muilanguage
extern MUILANGUAGE MUI_LanguageDLLs[];
int MuiLanguages_CountOf();
bool GetUserPreferredLanguage(LPWSTR pszPrefLocaleName, int cchBuffer, LANGID* pLangID);
LANGID LoadLanguageResources();
void FreeLanguageResources();

View File

@ -3536,6 +3536,9 @@ static void _DynamicLanguageMenuCmd(int cmd)
CloseNonModalDialogs();
StringCchCopyW(Settings2.PreferredLanguageLocaleName, COUNTOF(Settings2.PreferredLanguageLocaleName), MUI_LanguageDLLs[iLngIdx].szLocaleName);
if (StringCchCompareXIW(Settings2.PreferredLanguageLocaleName, Defaults2.PreferredLanguageLocaleName) != 0) {
IniFileSetString(Globals.IniFile, Constants.Settings2_Section, L"PreferredLanguageLocaleName", Settings2.PreferredLanguageLocaleName);
}
LockWindowUpdate(Globals.hwndMain); // prevent intermediate redrawing