Exemplo n.º 1
0
LRESULT CMainFramePage::OnNotify(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	LPPSHNOTIFY lppsn = (LPPSHNOTIFY) lParam;
	if (lppsn->hdr.code == PSN_APPLY)
	{
		
		DoDataExchange(TRUE);
		if (g_config.bLaunchAtStartup!=bLaunchAtStartup /*|| g_nMainFrameState != m_cbFrameState.GetCurSel()*/)
		{
			g_config.bLaunchAtStartup=bLaunchAtStartup;
			SetLaunchStrategy(bLaunchAtStartup);
		}
		if (nSaveAllElapse > 3600)
			nSaveAllElapse = 3600;
		if (nSaveAllElapse < 1)
			nSaveAllElapse = 1;
		int nChecked = IsDlgButtonChecked(IDC_CHECK_WORK_DIR);
		if (nChecked!=BST_CHECKED)
		{
			//Detect Storage Root
			int nRootStorageDirLen = _tcsclen(g_config.szRootStorageDir);
			if (nRootStorageDirLen>0 && _T(':') == g_config.szRootStorageDir[1] && INVALID_FILE_ATTRIBUTES != GetFileAttributes(g_config.szRootStorageDir))
			{
				int len = _tcsclen(g_config.szRootStorageDir);
				for (int i=len-1; i>=0; --i)
				{
					if (_T('\\') == g_config.szRootStorageDir[i])
					{
						g_config.szRootStorageDir[i] = _T('\0');
					}
					else
					{
						break;
					}
				}
				g_config.bUseWorkingDirAsRootStrorageDir = false;
				WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("00"),g_config.strConfigFileName);
				WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),g_config.szRootStorageDir,g_config.strConfigFileName);
			}
			else
			{
				MessageBox( _T("无效“相对路径起始”,使用BooguNote.exe所在路径作为“相对路径起始”"), _T("警告"), MB_OK|MB_ICONEXCLAMATION);
				g_config.bUseWorkingDirAsRootStrorageDir = true;
				WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("01"),g_config.strConfigFileName);
				g_config.szRootStorageDir[0]=_T('\0');
				WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),_T(""),g_config.strConfigFileName);
			}
			
		}
		else
		{
			g_config.bUseWorkingDirAsRootStrorageDir = true;
			WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("01"),g_config.strConfigFileName);
			g_config.szRootStorageDir[0]=_T('\0');
			WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),_T(""),g_config.strConfigFileName);
		}
	}
	bHandled = FALSE;
	return 0;
}
Exemplo n.º 2
0
LRESULT CMainFramePage::OnNotify(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	LPPSHNOTIFY lppsn = (LPPSHNOTIFY) lParam;
	if (lppsn->hdr.code == PSN_APPLY)
	{
		
		DoDataExchange(TRUE);
		if (g_config.bLaunchAtStartup!=bLaunchAtStartup /*|| g_nMainFrameState != m_cbFrameState.GetCurSel()*/)
		{
			g_config.bLaunchAtStartup=bLaunchAtStartup;
			SetLaunchStrategy(bLaunchAtStartup);
		}
		//hunter : UINT_PTR WINAPI SetTimer(_In_opt_  HWND hWnd,  _In_ UINT_PTR nIDEvent, _In_ UINT uElapse, _In_opt_  TIMERPROC lpTimerFunc);
		//uElapse [in] Type: UINT  The time-out value, in milliseconds.
		//If uElapse is less than USER_TIMER_MINIMUM (0x0000000A), the timeout is set to USER_TIMER_MINIMUM. If uElapse is greater than USER_TIMER_MAXIMUM (0x7FFFFFFF), the timeout is set to USER_TIMER_MAXIMUM.
		//参见 https://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx
		if (nSaveAllElapse > 3600)
		{
			nSaveAllElapse = 3600;
		}
		else if (0 == nSaveAllElapse)  //hunter : 等于 0 时不用修改值, 直接关闭自动保存功能
		{
			
		}		
		else if (nSaveAllElapse < 1 && 0 != nSaveAllElapse)
		{	
		    nSaveAllElapse = 1;
		}

		int nChecked = IsDlgButtonChecked(IDC_CHECK_WORK_DIR);
		if (nChecked!=BST_CHECKED)
		{
			//Detect Storage Root
			int nRootStorageDirLen = _tcsclen(g_config.szRootStorageDir);
			if (nRootStorageDirLen>0 && _T(':') == g_config.szRootStorageDir[1] && INVALID_FILE_ATTRIBUTES != GetFileAttributes(g_config.szRootStorageDir))
			{
				int len = _tcsclen(g_config.szRootStorageDir);
				for (int i=len-1; i>=0; --i)
				{
					if (_T('\\') == g_config.szRootStorageDir[i])
					{
						g_config.szRootStorageDir[i] = _T('\0');
					}
					else
					{
						break;
					}
				}
				g_config.bUseWorkingDirAsRootStrorageDir = false;
				WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("00"),g_config.strConfigFileName);
				WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),g_config.szRootStorageDir,g_config.strConfigFileName);
			}
			else
			{
				MessageBox( _T("无效“相对路径起始”,使用BooguNote.exe所在路径作为“相对路径起始”"), _T("警告"), MB_OK|MB_ICONEXCLAMATION);
				g_config.bUseWorkingDirAsRootStrorageDir = true;
				WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("01"),g_config.strConfigFileName);
				g_config.szRootStorageDir[0]=_T('\0');
				WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),_T(""),g_config.strConfigFileName);
			}
			
		}
		else
		{
			g_config.bUseWorkingDirAsRootStrorageDir = true;
			WritePrivateProfileString(_T("MainFrame"),_T("UseWorkingDirAsRootStrorageDir"),_T("01"),g_config.strConfigFileName);
			g_config.szRootStorageDir[0]=_T('\0');
			WritePrivateProfileString(_T("MainFrame"),_T("RootStorageDir"),_T(""),g_config.strConfigFileName);
		}
	}
	bHandled = FALSE;
	return 0;
}