📄 pimsettings.cpp
字号:
GetDlgItem(IDC_NOTES_STATIC_FOLDER)->ShowWindow(SW_HIDE);
linkNotesChoose.ShowWindow(SW_HIDE);
#endif
}
if (showBriefcaseSource) {
CString foldertosync;
//briefcase
GetDlgItem(IDC_BRIEFCASE_STATIC_FOLDERTOSYNC)->SetFont(&fontBold);
foldertosync.LoadString(getLocalizationUtils()->getLocaleResource(), IDS_BRIEFCASE);
s1.LoadString(getLocalizationUtils()->getLocaleResource(), IDS_FOLDER_TO_SYNC);
foldertosync += s1;
SetDlgItemText(IDC_BRIEFCASE_STATIC_FOLDERTOSYNC,foldertosync);
s1.LoadString(getLocalizationUtils()->getLocaleResource(), IDS_CHOOSE);
linkBriefcaseChoose.setText(s1);
WindowsSyncSourceConfig* ssconfbriefcase = getRegConfig()->getWinSyncSourceConfig("briefcase");
s3 = ssconfbriefcase->getSyncDir().c_str();
if (s3 == "") {
LPTSTR dir = new WCHAR[512];
SHGetSpecialFolderPath(NULL, dir, CSIDL_PERSONAL, FALSE);
wstring s(dir);
delete [] dir;
wstring brief = s; brief += L"\\briefcase";
if (existsDirectory((wchar_t*)brief.c_str())) {
s3 = brief.c_str();
} else {
s3 = s.c_str();
}
}
briefcaseFolder = s3;
SetDlgItemText(IDC_BRIEFCASE_STATIC_FOLDER, s3);
s3.LoadString(getLocalizationUtils()->getLocaleResource(), IDS_BRIEFCASE_CHOOSE_FOLDER);
}
else{
GetDlgItem(IDC_BRIEFCASE_STATIC_FOLDERTOSYNC)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BRIEFCASE_STATIC_FOLDER)->ShowWindow(SW_HIDE);
linkBriefcaseChoose.ShowWindow(SW_HIDE);
}
// fix for wrong title problem, we get & set the title for the main window
wchar_t title[256];
AfxGetMainWnd()->GetWindowText(title,256);
AfxGetMainWnd()->SetWindowText(title);
lstSyncType.SetFocus();
return FALSE;
}
void CPIMSettings::OnOK()
{
if(checkStartSync()){
CDialog::OnOK();
}
int pos = lstSyncType.GetCurSel();
const char* syncType = SynctypeUI2Reg(pos);
// Save value in registry for contacts
WindowsSyncSourceConfig* ssconf = getRegConfig()->getWinSyncSourceConfig("contact");
if (!ssconf) {
TRACE(_T("Source 'contact' not found in registry!"));
return;
}
if(strcmp(syncType, ssconf->getSync())){
ssconf->setSync(syncType);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_CONTACTS);
}
// Save value in registry for calendar
ssconf = getRegConfig()->getWinSyncSourceConfig("calendar");
if (!ssconf) {
TRACE(_T("Source 'calendar' not found in registry!"));
return;
}
if(strcmp(syncType, ssconf->getSync())){
ssconf->setSync(syncType);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_CALENDAR);
}
// Save value in registry for tasks
ssconf = getRegConfig()->getWinSyncSourceConfig("task");
if (!ssconf) {
TRACE(_T("Source 'task' not found in registry!"));
return;
}
if(strcmp(syncType, ssconf->getSync())){
ssconf->setSync(syncType);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_TASKS);
}
//if (!getRegConfig()->getIsPortal()) {
if (showNoteSource) {
//
// Normal build: we have notes and briefcase
//
#if defined(WIN32_PLATFORM_PSPC)
USES_CONVERSION;
// Save values in registry for notes
ssconf = getRegConfig()->getWinSyncSourceConfig("note");
if (!ssconf) {
TRACE(_T("Source 'note' not found in registry!"));
return;
}
if(strcmp(syncType, ssconf->getSync())){
ssconf->setSync(syncType);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_NOTES);
}
// Save notes folder dir
if(notesFolder == _T("")) {
WCHAR* tmp = toWideChar(ssconf->getSyncDir().c_str());
notesFolder = tmp;
if (tmp) { delete [] tmp; }
}
else {
char* dir = toMultibyte(notesFolder.GetBuffer());
if ( strcmp(dir, ssconf->getSyncDir().c_str()) ) {
ssconf->setSyncDir(dir);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_NOTES);
}
if (dir) { delete [] dir; }
}
#endif
}
if (showBriefcaseSource) {
// Save values in registry for briefcase
ssconf = getRegConfig()->getWinSyncSourceConfig("briefcase");
if (!ssconf) {
TRACE(_T("Source 'briefcase' not found in registry!"));
return;
}
if(strcmp(syncType, ssconf->getSync())){
ssconf->setSync(syncType);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_BRIEFCASE);
}
// Save briefcase folder dir
if(briefcaseFolder == _T("")) {
WCHAR* tmp = toWideChar(ssconf->getSyncDir().c_str());
briefcaseFolder = tmp;
if (tmp) { delete [] tmp; }
}
else {
char* dir = toMultibyte(briefcaseFolder.GetBuffer());
if ( strcmp(dir, ssconf->getSyncDir().c_str()) ) {
ssconf->setSyncDir(dir);
getRegConfig()->setDirty(CS_DIRTY_SOURCE_BRIEFCASE);
}
if (dir) { delete [] dir; }
}
}
getRegConfig()->saveDirty();
CDialog::OnOK();
}
void CPIMSettings::LoadStringResources(){
CString s1;
s1.LoadString(getLocalizationUtils()->getLocaleResource(), IDS_SYNCTYPE);
SetDlgItemText(IDC_SETTPIM_STATIC_SYNCTYPE, s1);
}
void CPIMSettings::OnBnClickedBriefcaseLinkChoose()
{
CExploreFolders wndExplore;
#if defined(WIN32_PLATFORM_PSPC)
wndExplore.setIsNotes(false);
#endif
wndExplore.setFolder(briefcaseFolder);
INT_PTR result = wndExplore.DoModal();
if (result == IDCHOOSE){
briefcaseFolder = wndExplore.getFolder();
SetDlgItemText(IDC_BRIEFCASE_STATIC_FOLDER, briefcaseFolder);
}
}
void CPIMSettings::OnBnClickedPIMLinkAdvanced() {
// Not yet implemented, advanced link is not used.
//CPIMSettingsAdvanced wndContactsAdvanced;
//INT_PTR result = wndContactsAdvanced.DoModal();
}
// capture pressing of 'Advanced' link
BOOL CPIMSettings::PreTranslateMessage(MSG* pMsg){
bool bProcessed =false;
if(pMsg->message == WM_KEYDOWN){
if(pMsg->wParam == VK_RETURN){
/* if(GetFocus()->GetSafeHwnd() == linkAdvanced.GetSafeHwnd()){
bProcessed = true;
OnBnClickedPIMLinkAdvanced();
}*/
if(GetFocus()->GetSafeHwnd() == linkNotesChoose.GetSafeHwnd()){
bProcessed = true;
OnBnClickedNotesLinkChoose();
}
if(GetFocus()->GetSafeHwnd() == linkBriefcaseChoose.GetSafeHwnd()){
bProcessed = true;
OnBnClickedBriefcaseLinkChoose();
}
}
}
if(bProcessed)
return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
HBRUSH CPIMSettings::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// set ppc header text color
#if defined(WIN32_PLATFORM_PSPC)
if(pWnd->GetDlgCtrlID() == IDC_HEADER_STATIC) {
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(PPC_HEADER_TEXT_COLOR);
}
#endif
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -