From fd6a74e93aef5dd7fb0a1cfcadd9010631d38a6c Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 21 Jul 2021 15:18:08 +0200 Subject: [PATCH 1/2] +fix: forced file ext written to scheme export --- src/Config/Config.cpp | 2 +- src/Styles.c | 44 +++++++++++++++++++++---------------------- src/Styles.h | 1 - 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index 640b66b8c..784e63ef6 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -2062,8 +2062,8 @@ static bool _SaveSettings(bool bForceSaveSettings) if (Globals.uCurrentThemeIndex == 0) { IniSectionDelete(IniSecStyles, L"ThemeFileName", false); - Style_FileExtToIniSection(Globals.bIniFileFromScratch); Style_ToIniSection(Globals.bIniFileFromScratch); // Scintilla Styles + Style_FileExtToIniSection(false); } else { IniSectionSetString(IniSecStyles, L"ThemeFileName", Settings.CurrentThemeName); } diff --git a/src/Styles.c b/src/Styles.c index e1ad5a761..ace7d5815 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -617,25 +617,6 @@ int Style_RgbAlpha(int rgbFore, int rgbBack, int alpha) } -//============================================================================= -// -// Style_Load() -// -void Style_Load() -{ - _SetBaseFontSize(GLOBAL_INITIAL_FONTSIZE); - _SetCurrentFontSize(GLOBAL_INITIAL_FONTSIZE); - - for (int i = 0; i < 16; ++i) { - g_colorCustom[i] = s_colorDefault[i]; - } - - _FillThemesMenuTable(); - Style_LoadLexerFileExtensions(); - Style_ImportTheme(Globals.uCurrentThemeIndex); -} - - //============================================================================= // // Style_Import() @@ -668,9 +649,9 @@ bool Style_Import(HWND hwnd) //============================================================================= // -// Style_LoadLexerFileExtensions() +// _LoadLexerFileExtensions() // -void Style_LoadLexerFileExtensions() +static void _LoadLexerFileExtensions() { bool bOpendByMe; OpenSettingsFile(&bOpendByMe); @@ -710,6 +691,23 @@ void Style_LoadLexerFileExtensions() } +//============================================================================= +// +// Style_Load() +// +void Style_Load() { + _SetBaseFontSize(GLOBAL_INITIAL_FONTSIZE); + _SetCurrentFontSize(GLOBAL_INITIAL_FONTSIZE); + + for (int i = 0; i < 16; ++i) { + g_colorCustom[i] = s_colorDefault[i]; + } + + _FillThemesMenuTable(); + _LoadLexerFileExtensions(); + Style_ImportTheme(Globals.uCurrentThemeIndex); +} + //============================================================================= // @@ -878,6 +876,7 @@ bool Style_Export(HWND hwnd) void Style_FileExtToIniSection(bool bForceAll) { for (int iLexer = 0; iLexer < COUNTOF(g_pLexArray); ++iLexer) { + LPCWSTR const Lexer_Section = g_pLexArray[iLexer]->pszName; if (bForceAll || (StringCchCompareXI(g_pLexArray[iLexer]->szExtensions, g_pLexArray[iLexer]->pszDefExt) != 0)) { @@ -1006,8 +1005,8 @@ bool Style_ExportToFile(const WCHAR* szFile, bool bForceAll) if (StringCchCompareXI(szFilePathNorm, Paths.IniFile) == 0) { bool bOpendByMe; if (OpenSettingsFile(&bOpendByMe)) { - Style_FileExtToIniSection(bForceAll); Style_ToIniSection(bForceAll); + Style_FileExtToIniSection(bForceAll); ok = CloseSettingsFile(true, bOpendByMe); } } else { @@ -1022,6 +1021,7 @@ bool Style_ExportToFile(const WCHAR* szFile, bool bForceAll) } if (LoadIniFileCache(szFilePathNorm)) { Style_ToIniSection(bForceAll); + Style_FileExtToIniSection(bForceAll); ok = SaveIniFileCache(szFilePathNorm); ResetIniFileCache(); } diff --git a/src/Styles.h b/src/Styles.h index aefe4488c..a6176028a 100644 --- a/src/Styles.h +++ b/src/Styles.h @@ -32,7 +32,6 @@ int Style_NumOfLexers(); // Number of Lexers in pLexArray void Style_Load(); bool Style_Import(HWND hwnd); bool Style_ImportTheme(const int iThemeIdx); // -1 => Factory Reset -void Style_LoadLexerFileExtensions(); bool Style_ImportFromFile(const WCHAR* szFile); void Style_SaveSettings(bool bForceSaveSettings); bool Style_Export(HWND hwnd); From 64ad420bc42511aa64ee314de6554113378c89f8 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 21 Jul 2021 16:41:42 +0200 Subject: [PATCH 2/2] +fix: file-ext writing to stxle .ini files only on export --- src/Config/Config.cpp | 2 +- src/Styles.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index 784e63ef6..efab3bd14 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -2062,7 +2062,7 @@ static bool _SaveSettings(bool bForceSaveSettings) if (Globals.uCurrentThemeIndex == 0) { IniSectionDelete(IniSecStyles, L"ThemeFileName", false); - Style_ToIniSection(Globals.bIniFileFromScratch); // Scintilla Styles + Style_ToIniSection(false); // Scintilla Styles Style_FileExtToIniSection(false); } else { IniSectionSetString(IniSecStyles, L"ThemeFileName", Settings.CurrentThemeName); diff --git a/src/Styles.c b/src/Styles.c index ace7d5815..a684cdd83 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -482,7 +482,7 @@ bool Style_DynamicThemesMenuCmd(int cmd) if (!Flags.bSettingsFileSoftLocked) { Globals.bCanSaveIniFile = CreateIniFile(Paths.IniFile, NULL); if (Globals.bCanSaveIniFile) { - Style_ExportToFile(Paths.IniFile, Globals.bIniFileFromScratch); + Style_ExportToFile(Paths.IniFile, false); } } } else if (PathIsExistingFile(Theme_Files[Globals.uCurrentThemeIndex].szFilePath)) { @@ -831,7 +831,7 @@ bool Style_ImportTheme(const int iThemeIdx) { void Style_SaveSettings(bool bForceSaveSettings) { if (Settings.SaveSettings || bForceSaveSettings) { - Style_ExportToFile(Theme_Files[Globals.uCurrentThemeIndex].szFilePath, Globals.bIniFileFromScratch); + Style_ExportToFile(Theme_Files[Globals.uCurrentThemeIndex].szFilePath, false); } } @@ -902,15 +902,13 @@ void Style_FileExtToIniSection(bool bForceAll) void Style_ToIniSection(bool bForceAll) { - bool const bForceAllNotFromScratch = (bForceAll && !Globals.bIniFileFromScratch); - // Custom colors const WCHAR* const CustomColors_Section = L"Custom Colors"; for (int i = 0; i < 16; i++) { WCHAR tch[32] = { L'\0' }; StringCchPrintf(tch, COUNTOF(tch), L"%02i", i + 1); - if ((g_colorCustom[i] != s_colorDefault[i]) || bForceAllNotFromScratch) { + if ((g_colorCustom[i] != s_colorDefault[i]) || bForceAll) { WCHAR wch[32] = { L'\0' }; StringCchPrintf(wch, COUNTOF(wch), L"#%02X%02X%02X", (int)GetRValue(g_colorCustom[i]), (int)GetGValue(g_colorCustom[i]), (int)GetBValue(g_colorCustom[i])); @@ -967,7 +965,7 @@ void Style_ToIniSection(bool bForceAll) wchDefaultStyle[0] = L'\0'; // empty Style_CopyStyles_IfNotDefined(pszDefault, wchDefaultStyle, COUNTOF(wchDefaultStyle)); - if (bForceAllNotFromScratch || (StringCchCompareX(wchCurrentStyle, wchDefaultStyle) != 0)) { + if (bForceAll || (StringCchCompareX(wchCurrentStyle, wchDefaultStyle) != 0)) { IniSectionSetString(Lexer_Section, pszName, wchCurrentStyle); } else { IniSectionDelete(Lexer_Section, pszName, false);