diff --git a/grepWinNP3/src/SearchDlg.cpp b/grepWinNP3/src/SearchDlg.cpp index dabb52a58..49f50f6b9 100644 --- a/grepWinNP3/src/SearchDlg.cpp +++ b/grepWinNP3/src/SearchDlg.cpp @@ -169,6 +169,7 @@ CSearchDlg::CSearchDlg(HWND hParent) , m_regDate2High(L"Software\\grepWinNP3\\Date2High", 0) , m_regShowContent(L"Software\\grepWinNP3\\ShowContent", 0) , m_regOpacityNoFocus(L"Software\\grepWinNP3\\OpacityNoFocus", 100) + , m_regStayOnTop(L"Software\\grepWinNP3\\StayOnTop", 0) , m_AutoCompleteFilePatterns(bPortable ? &g_iniFile : nullptr) , m_AutoCompleteExcludeDirsPatterns(bPortable ? &g_iniFile : nullptr) , m_AutoCompleteSearchPatterns(bPortable ? &g_iniFile : nullptr) @@ -177,8 +178,8 @@ CSearchDlg::CSearchDlg(HWND hParent) , m_pBookmarksDlg(nullptr) , m_showContent(false) , m_showContentSet(false) - , m_stayOnTop(false) , m_OpacityNoFocus(100) + , m_bStayOnTop(false) , m_themeCallbackId(0) { } @@ -404,6 +405,8 @@ LRESULT CSearchDlg::DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara m_bUseRegex = (bPortable ? g_iniFile.GetBoolValue(L"global", L"UseRegex", false) : DWORD(m_regUseRegex)); + m_bStayOnTop = (BYTE)(bPortable ? g_iniFile.GetBoolValue(L"global", L"StayOnTop", false) : DWORD(m_regStayOnTop)); + m_OpacityNoFocus = (BYTE)(bPortable ? g_iniFile.GetLongValue(L"global", L"OpacityNoFocus", 100) : DWORD(m_regOpacityNoFocus)); m_OpacityNoFocus = (m_OpacityNoFocus > 100) ? 100 : m_OpacityNoFocus; @@ -558,6 +561,10 @@ LRESULT CSearchDlg::DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara else ShowWindow(*this, SW_SHOW); } + + SetWindowPos(*this, m_bStayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + CheckMenuItem(GetSystemMenu(*this, FALSE), ID_STAY_ON_TOP, m_bStayOnTop ? MF_BYCOMMAND | MF_CHECKED : MF_BYCOMMAND | MF_UNCHECKED); + InitResultList(); #ifdef NP3_ALLOW_UPDATE @@ -809,9 +816,9 @@ LRESULT CSearchDlg::DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara break; case ID_STAY_ON_TOP: { - m_stayOnTop = !m_stayOnTop; // toggle - SetWindowPos(*this, m_stayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); - CheckMenuItem(GetSystemMenu(*this, FALSE), ID_STAY_ON_TOP, m_stayOnTop ? MF_BYCOMMAND | MF_CHECKED : MF_BYCOMMAND | MF_UNCHECKED); + m_bStayOnTop = !m_bStayOnTop; // toggle + SetWindowPos(*this, m_bStayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + CheckMenuItem(GetSystemMenu(*this, FALSE), ID_STAY_ON_TOP, m_bStayOnTop ? MF_BYCOMMAND | MF_CHECKED : MF_BYCOMMAND | MF_UNCHECKED); } break; } @@ -2789,6 +2796,7 @@ bool CSearchDlg::SaveSettings() g_iniFile.SetBoolValue(L"global", L"IncludeBinary", m_bIncludeBinary); g_iniFile.SetBoolValue(L"global", L"CreateBackup", m_bCreateBackup); g_iniFile.SetBoolValue(L"global", L"UTF8", m_bUTF8); + g_iniFile.SetBoolValue(L"global", L"StayOnTop", m_bStayOnTop); g_iniFile.SetBoolValue(L"global", L"Binary", m_bForceBinary); g_iniFile.SetBoolValue(L"global", L"CaseSensitive", m_bCaseSensitive); g_iniFile.SetBoolValue(L"global", L"DotMatchesNewline", m_bDotMatchesNewline); @@ -2804,22 +2812,23 @@ bool CSearchDlg::SaveSettings() } else { - m_regIncludeSystem = (DWORD)m_bIncludeSystem; - m_regIncludeHidden = (DWORD)m_bIncludeHidden; - m_regIncludeSubfolders = (DWORD)m_bIncludeSubfolders; - m_regIncludeBinary = (DWORD)m_bIncludeBinary; - m_regCreateBackup = (DWORD)m_bCreateBackup; - m_regUTF8 = (DWORD)m_bUTF8; - m_regBinary = (DWORD)m_bForceBinary; - m_regCaseSensitive = (DWORD)m_bCaseSensitive; - m_regDotMatchesNewline = (DWORD)m_bDotMatchesNewline; - m_regPattern = m_patternregex; + m_regIncludeSystem = (DWORD)m_bIncludeSystem; + m_regIncludeHidden = (DWORD)m_bIncludeHidden; + m_regIncludeSubfolders = (DWORD)m_bIncludeSubfolders; + m_regIncludeBinary = (DWORD)m_bIncludeBinary; + m_regCreateBackup = (DWORD)m_bCreateBackup; + m_regUTF8 = (DWORD)m_bUTF8; + m_regStayOnTop = (DWORD)m_bStayOnTop; + m_regBinary = (DWORD)m_bForceBinary; + m_regCaseSensitive = (DWORD)m_bCaseSensitive; + m_regDotMatchesNewline = (DWORD)m_bDotMatchesNewline; + m_regPattern = m_patternregex; m_regExcludeDirsPattern = m_excludedirspatternregex; - m_regDateLimit = m_DateLimit; - m_regDate1Low = m_Date1.dwLowDateTime; - m_regDate1High = m_Date1.dwHighDateTime; - m_regDate2Low = m_Date2.dwLowDateTime; - m_regDate2High = m_Date2.dwHighDateTime; + m_regDateLimit = m_DateLimit; + m_regDate1Low = m_Date1.dwLowDateTime; + m_regDate1High = m_Date1.dwHighDateTime; + m_regDate2Low = m_Date2.dwLowDateTime; + m_regDate2High = m_Date2.dwHighDateTime; if (!m_showContentSet) m_regShowContent = m_showContent; } diff --git a/grepWinNP3/src/SearchDlg.h b/grepWinNP3/src/SearchDlg.h index d95a01056..85d61da55 100644 --- a/grepWinNP3/src/SearchDlg.h +++ b/grepWinNP3/src/SearchDlg.h @@ -207,7 +207,7 @@ private: bool m_bConfirmationOnReplace; bool m_showContent; bool m_showContentSet; - bool m_stayOnTop; + bool m_bStayOnTop; BYTE m_OpacityNoFocus; std::vector m_items; @@ -268,4 +268,5 @@ private: CRegStdDWORD m_regDate2High; CRegStdDWORD m_regShowContent; CRegStdDWORD m_regOpacityNoFocus; + CRegStdDWORD m_regStayOnTop; }; diff --git a/grepWinNP3/src/last/version.h b/grepWinNP3/src/last/version.h index 45af97f93..5cecaae6c 100644 --- a/grepWinNP3/src/last/version.h +++ b/grepWinNP3/src/last/version.h @@ -6,13 +6,13 @@ //#pragma message(__LOC__"Run the NAnt script to get proper version info") -#define FILEVER 2, 1, 3, 29 -#define PRODUCTVER 2, 1, 3, 29 -#define STRFILEVER "2.1.3.29\0" -#define STRPRODUCTVER "2.1.3.29\0" +#define FILEVER 2, 1, 3, 30 +#define PRODUCTVER 2, 1, 3, 30 +#define STRFILEVER "2.1.3.30\0" +#define STRPRODUCTVER "2.1.3.30\0" #define GREPWIN_VERMAJOR 2 #define GREPWIN_VERMINOR 1 #define GREPWIN_VERMICRO 3 -#define GREPWIN_VERBUILD 29 -#define GREPWIN_VERDATE "2020-09-19" +#define GREPWIN_VERBUILD 30 +#define GREPWIN_VERDATE "2020-09-20"