BOOL CTDLImportOutlookObjectsDlg::OnInitDialog() { CDialog::OnInitDialog(); // modify first column header m_lcFieldMapping.SetColumnText(0, CEnString(IDS_OUTLOOK_FIELDNAME)); // take a copy of the master mapping and remove any unwanted fields before // passing to list control CTDCCsvColumnMapping aMapping; aMapping.Copy(m_aMasterMapping); RemoveUnwantedAttributes(aMapping); m_lcFieldMapping.SetColumnMapping(aMapping); // make sure we have the foreground focus because // the Outlook security popup can steal it. AfxGetMainWnd()->SetForegroundWindow(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CTDLFindTaskExpressionListCtrl::PreSubclassWindow() { // create child controls CreateControl(m_cbAttributes, ATTRIB_ID); CreateControl(m_cbOperators, OPERATOR_ID, FALSE); CreateControl(m_cbAndOr, ANDOR_ID, FALSE); CreateControl(m_dtcDate, DATE_ID); CreateControl(m_eTime, TIME_ID); CreateControl(m_cbListValues, LISTVALUES_ID); CreateControl(m_cbPriority, PRIORITY_ID); CreateControl(m_cbRisk, RISK_ID); CInputListCtrl::PreSubclassWindow(); // we need combo to be created first // build and/or combo too int nItem = m_cbAndOr.AddString(CEnString(IDS_FP_AND)); m_cbAndOr.SetItemData(nItem, TRUE); nItem = m_cbAndOr.AddString(CEnString(IDS_FP_OR)); m_cbAndOr.SetItemData(nItem, FALSE); // post message for our setup m_header.EnableTracking(FALSE); ShowGrid(TRUE, TRUE); InsertColumn(ATTRIB, CEnString(IDS_FT_ATTRIB), LVCFMT_LEFT, 120); InsertColumn(OPERATOR, CEnString(IDS_FT_MATCHES), LVCFMT_LEFT, 160); InsertColumn(VALUE, CEnString(IDS_FT_VALUE), LVCFMT_LEFT, 130); InsertColumn(ANDOR, CEnString(IDS_FT_ANDOR), LVCFMT_LEFT, 60); SetView(LVS_REPORT); // SetLastColumnStretchy(TRUE); AutoAdd(TRUE, FALSE); BuildListCtrl(); SetColumnType(ATTRIB, ILCT_DROPLIST); SetColumnType(OPERATOR, ILCT_DROPLIST); SetColumnType(ANDOR, ILCT_DROPLIST); }
void CTDLFindTaskExpressionListCtrl::PrepareControl(CWnd& ctrl, int nRow, int nCol) { UNREFERENCED_PARAMETER(ctrl); if (!GetRuleCount()) return; SEARCHPARAM& sp = m_aSearchParams[nRow]; switch (nCol) { case ATTRIB: { ASSERT (&ctrl == &m_cbAttributes); m_cbAttributes.SelectAttribute(sp); CDialogHelper::RefreshMaxDropWidth(m_cbAttributes); } break; case OPERATOR: { ASSERT (&ctrl == &m_cbOperators); m_cbOperators.ResetContent(); FIND_ATTRIBTYPE nType = sp.GetAttribType(); switch (nType) { case FT_STRING: AddOperatorToCombo(FOP_SET); AddOperatorToCombo(FOP_NOT_SET); AddOperatorToCombo(FOP_EQUALS); AddOperatorToCombo(FOP_NOT_EQUALS); AddOperatorToCombo(FOP_INCLUDES); AddOperatorToCombo(FOP_NOT_INCLUDES); break; case FT_INTEGER: case FT_DOUBLE: case FT_TIME: AddOperatorToCombo(FOP_SET); AddOperatorToCombo(FOP_NOT_SET); AddOperatorToCombo(FOP_EQUALS); AddOperatorToCombo(FOP_NOT_EQUALS); AddOperatorToCombo(FOP_GREATER); AddOperatorToCombo(FOP_GREATER_OR_EQUAL); AddOperatorToCombo(FOP_LESS); AddOperatorToCombo(FOP_LESS_OR_EQUAL); break; case FT_DATE: AddOperatorToCombo(FOP_SET); AddOperatorToCombo(FOP_NOT_SET); // fall thru case FT_DATE_REL: AddOperatorToCombo(FOP_EQUALS); AddOperatorToCombo(FOP_NOT_EQUALS); AddOperatorToCombo(FOP_AFTER); AddOperatorToCombo(FOP_ON_OR_AFTER); AddOperatorToCombo(FOP_BEFORE); AddOperatorToCombo(FOP_ON_OR_BEFORE); break; case FT_BOOL: AddOperatorToCombo(FOP_SET); AddOperatorToCombo(FOP_NOT_SET); break; } CDialogHelper::SelectItemByData(m_cbOperators, (DWORD)sp.GetOperator()); } break; case ANDOR: { ASSERT (&ctrl == &m_cbAndOr); if (sp.GetAnd()) m_cbAndOr.SelectString(-1, CEnString(IDS_FP_AND)); else m_cbAndOr.SelectString(-1, CEnString(IDS_FP_OR)); } break; case VALUE: if (&ctrl == &m_dtcDate) { // if the rule does not yet have a date then set it now to // the current date because that's whats the date ctrl will default to if (!CDateHelper::IsDateSet(sp.ValueAsDate())) { sp.SetValue(COleDateTime::GetCurrentTime()); SetItemText(nRow, nCol, sp.ValueAsDate().Format(VAR_DATEVALUEONLY)); } else { m_dtcDate.SetTime(sp.ValueAsDouble()); } } else if (&ctrl == &m_eTime) { m_eTime.SetTime(sp.ValueAsDouble(), (TCHAR)sp.GetFlags()); } else if (&ctrl == &m_cbListValues) { m_cbListValues.ResetContent(); TDCCUSTOMATTRIBUTEDEFINITION attribDef; if (CTDCCustomAttributeHelper::GetAttributeDef(sp.GetAttribute(), m_aAttribDefs, attribDef)) { if (attribDef.IsList()) { int nItem = attribDef.aDefaultListData.GetSize(); while (nItem--) m_cbListValues.AddString(attribDef.aDefaultListData[nItem]); nItem = attribDef.aAutoListData.GetSize(); while (nItem--) m_cbListValues.AddString(attribDef.aAutoListData[nItem]); } } else { switch (sp.GetAttribute()) { case TDCA_CATEGORY: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aCategory); break; case TDCA_ALLOCTO: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aAllocTo); break; case TDCA_ALLOCBY: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aAllocBy); break; case TDCA_VERSION: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aVersion); break; case TDCA_TAGS: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aTags); break; case TDCA_STATUS: CDialogHelper::SetComboBoxItems(m_cbListValues, m_tldListContents.aStatus); break; } } m_cbListValues.SelectString(0, sp.ValueAsString()); } else if (&ctrl == &m_cbPriority) { m_cbPriority.SetSelectedPriority(sp.ValueAsInteger()); } else if (&ctrl == &m_cbRisk) { m_cbRisk.SetSelectedRisk(sp.ValueAsInteger()); } break; } }
void CTDLFindTaskExpressionListCtrl::PrepareControl(CWnd& ctrl, int nRow, int nCol) { UNREFERENCED_PARAMETER(ctrl); if (!GetRuleCount()) return; SEARCHPARAM& sp = m_aSearchParams[nRow]; switch (nCol) { case ATTRIB: { ASSERT (&ctrl == &m_cbAttributes); m_cbAttributes.SelectAttribute(sp); CDialogHelper::RefreshMaxDropWidth(m_cbAttributes); } break; case OPERATOR: { ASSERT (&ctrl == &m_cbOperators); m_cbOperators.ResetContent(); FIND_ATTRIBTYPE nType = sp.GetAttribType(); switch (nType) { case FT_STRING: AddOperatorToCombo(FO_SET); AddOperatorToCombo(FO_NOT_SET); AddOperatorToCombo(FO_EQUALS); AddOperatorToCombo(FO_NOT_EQUALS); AddOperatorToCombo(FO_INCLUDES); AddOperatorToCombo(FO_NOT_INCLUDES); break; case FT_INTEGER: case FT_DOUBLE: case FT_TIME: AddOperatorToCombo(FO_SET); AddOperatorToCombo(FO_NOT_SET); AddOperatorToCombo(FO_EQUALS); AddOperatorToCombo(FO_NOT_EQUALS); AddOperatorToCombo(FO_GREATER); AddOperatorToCombo(FO_GREATER_OR_EQUAL); AddOperatorToCombo(FO_LESS); AddOperatorToCombo(FO_LESS_OR_EQUAL); break; case FT_DATE: case FT_DATE_REL: AddOperatorToCombo(FO_SET); AddOperatorToCombo(FO_NOT_SET); AddOperatorToCombo(FO_EQUALS); AddOperatorToCombo(FO_NOT_EQUALS); AddOperatorToCombo(FO_AFTER); AddOperatorToCombo(FO_ON_OR_AFTER); AddOperatorToCombo(FO_BEFORE); AddOperatorToCombo(FO_ON_OR_BEFORE); break; case FT_BOOL: AddOperatorToCombo(FO_SET); AddOperatorToCombo(FO_NOT_SET); break; } CDialogHelper::SelectItemByData(m_cbOperators, (DWORD)sp.GetOperator()); } break; case ANDOR: { ASSERT (&ctrl == &m_cbAndOr); if (sp.GetAnd()) m_cbAndOr.SelectString(-1, CEnString(IDS_FP_AND)); else m_cbAndOr.SelectString(-1, CEnString(IDS_FP_OR)); } break; case VALUE: switch (sp.GetAttribType()) { case FT_DATE: ASSERT (&ctrl == &m_dtDate); // if the rule does not yet have a date then set it now to // the current date because that's whats the date ctrl will default to if (sp.ValueAsDate().m_dt <= 0) { sp.SetValue(COleDateTime::GetCurrentTime()); SetItemText(nRow, nCol, sp.ValueAsDate().Format(VAR_DATEVALUEONLY)); } else m_dtDate.SetTime(sp.ValueAsDouble()); break; case FT_TIME: ASSERT (&ctrl == &m_eTime); m_eTime.SetTime(sp.ValueAsDouble(), (TCHAR)sp.GetFlags()); break; } break; } }
void CToolsHelper::UpdateMenu(CCmdUI* pCmdUI, const CUserToolArray& tools, CMenuIconMgr& iconMgr) { if (pCmdUI->m_pMenu) { CUserToolArray aTools; aTools.Copy(tools); // delete existing tool entries and their icons first for (int nTool = 0; nTool < m_nSize; nTool++) { pCmdUI->m_pMenu->DeleteMenu(pCmdUI->m_nID + nTool, MF_BYCOMMAND); iconMgr.DeleteImage(m_nStartID + nTool); } // if we have any tools to add we do it here if (aTools.GetSize()) { // add valid tools only by first removing invalid items int nTool = aTools.GetSize(); while (nTool--) { if (aTools[nTool].sToolName.IsEmpty() || aTools[nTool].sToolPath.IsEmpty()) aTools.RemoveAt(nTool); } if (aTools.GetSize()) { CSysImageList sil; // for menu icons VERIFY(sil.Initialize()); int nPos = 0; for (nTool = 0; nTool < aTools.GetSize(); nTool++) { const USERTOOL& tool = aTools[nTool]; CString sMenuItem; if (nPos < 9) sMenuItem.Format(_T("&%d %s"), nPos + 1, tool.sToolName); else sMenuItem = tool.sToolName; pCmdUI->m_pMenu->InsertMenu(pCmdUI->m_nIndex++, MF_BYPOSITION | MF_STRING, m_nStartID + nTool, sMenuItem); iconMgr.SetImage(m_nStartID + nTool, GetToolIcon(sil, tool)); nPos++; } // update end menu count pCmdUI->m_nIndex--; // point to last menu added pCmdUI->m_nIndexMax = pCmdUI->m_pMenu->GetMenuItemCount(); pCmdUI->m_bEnableChanged = TRUE; // all the added items are enabled } } // if nothing to add just re-add placeholder if (!aTools.GetSize()) { pCmdUI->m_pMenu->InsertMenu(pCmdUI->m_nIndex, MF_BYPOSITION | MF_STRING | MF_GRAYED, m_nStartID, CEnString(IDS_USERDEFINEDTOOLS)); } } }
void CPreferencesToolPage::OnImport() { BOOL bContinue = TRUE; while (bContinue) { CFileOpenDialog dialog(IDS_IMPORTPREFS_TITLE, _T("ini"), NULL, OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, CEnString(IDS_INIFILEFILTER)); if (dialog.DoModal() == IDOK) { CIni ini(dialog.GetPathName()); int nTools = ini.GetInt(_T("Tools"), _T("ToolCount"), 0); if (!nTools) bContinue = (AfxMessageBox(IDS_INIHASNOTOOLS, MB_YESNO) == IDYES); else { int nCurCount = m_lcTools.GetItemCount(); for (int nTool = 0; nTool < nTools; nTool++) { CString sKey = Misc::MakeKey(_T("Tools\\Tool%d"), nTool + 1); CString sName = ini.GetString(sKey, _T("Name")); CString sPath = ini.GetString(sKey, _T("Path")); CString sIconPath = ini.GetString(sKey, _T("IconPath")); BOOL bRunMinimized = ini.GetBool(sKey, _T("RunMinimized"), FALSE); CString sCmdline = ini.GetString(sKey, _T("Cmdline")); // replace safe quotes with real quotes sCmdline.Replace(SAFEQUOTE, REALQUOTE); // add tool to list int nImage = -1; nImage = m_ilSys.GetFileImageIndex(sPath); if (!sIconPath.IsEmpty()) nImage = m_ilSys.GetFileImageIndex(sIconPath); int nIndex = m_lcTools.InsertItem(nCurCount + nTool, sName, nImage); m_lcTools.SetItemText(nIndex, 1, sPath); m_lcTools.SetItemText(nIndex, 2, sCmdline); m_lcTools.SetItemText(nIndex, 3, sIconPath); m_lcTools.SetItemData(nIndex, bRunMinimized); } bContinue = FALSE; CPreferencesPageBase::OnControlChange(); } } else bContinue = FALSE; // cancelled } }
CTDLFindTaskExpressionListCtrl::CTDLFindTaskExpressionListCtrl() { SetAutoRowPrompt(CEnString(IDS_FP_NEW_RULE)); }
void CExportDlg::OnOK() { BOOL bExporterHasFileExt = m_mgrImportExport.ExporterHasFileExtension(s_nFormatOption); if (bExporterHasFileExt) { m_sExportPath.TrimLeft(); m_sExportPath.TrimRight(); // if the export path is relative we build a path based // on the exe path and check with the user if (::PathIsRelative(m_sExportPath)) { CString sPath = FileMisc::GetModuleFileName(), sDrive, sFolder; FileMisc::SplitPath(sPath, &sDrive, &sFolder); FileMisc::MakePath(sPath, sDrive, sFolder, m_sExportPath); CString sMessage; if (m_nExportOption == ALLTASKLISTS) { sMessage.Format(IDS_ED_CONFIRMEXPORTPATHMULTI, sPath); } else { sMessage.Format(IDS_ED_CONFIRMEXPORTPATH, sPath); } UINT nRet = MessageBox(sMessage, CEnString(IDS_ED_CONFIRMEXPORTPATH_TITLE), MB_YESNO); if (nRet == IDNO) { // re-display dialog m_eExportPath.SetSel(0, -1); m_eExportPath.SetFocus(); return; } else { m_sExportPath = sPath; } } // make sure the output folder is valid BOOL bBadFolder = (m_nExportOption == ALLTASKLISTS && !m_bExportOneFile) ? !FileMisc::CreateFolder(m_sExportPath) : !FileMisc::CreateFolderFromFilePath(m_sExportPath); if (bBadFolder) { CEnString sMessage(IDS_ED_NOMAKEEXPORTPATH, m_sExportPath); UINT nRet = MessageBox(sMessage, CEnString(IDS_ED_NOMAKEEXPORTPATH_TITLE), MB_OKCANCEL); // re-display dialog if (nRet == IDOK) { m_eExportPath.SetSel(0, -1); m_eExportPath.SetFocus(); return; } else { EndDialog(IDCANCEL); return; } } } CDialog::OnOK(); // make sure extension is right if (bExporterHasFileExt) { if (m_nExportOption == ACTIVETASKLIST || m_bExportOneFile) { ReplaceExtension(m_sExportPath, s_nFormatOption); } } if (!m_bSingleTaskList) { CPreferences prefs; prefs.WriteProfileInt(_T("Exporting"), _T("ExportOption"), m_nExportOption); if (bExporterHasFileExt) { if (m_nExportOption == ALLTASKLISTS) { prefs.WriteProfileString(_T("Exporting"), _T("LastFolder"), m_sExportPath); } else { prefs.WriteProfileString(_T("Exporting"), _T("LastFolder"), m_sFolderPath); } } } }
void CPasswordDialog::SetItemText(UINT nIDItem, UINT nIDText) { s_mapText[nIDItem] = CEnString(nIDText); }
BOOL CWndPromptManager::SetComboPrompt(UINT nIDCombo, HWND hwndParent, UINT nIDPrompt) { return SetComboPrompt(GetDlgItem(hwndParent, nIDCombo), CEnString(nIDPrompt)); }
BOOL CWndPromptManager::SetComboPrompt(HWND hwndCombo, UINT nIDPrompt) { return SetComboPrompt(hwndCombo, CEnString(nIDPrompt)); }
BOOL CWndPromptManager::SetComboEditPrompt(UINT nIDCombo, HWND hwndParent, UINT nIDPrompt) { return SetComboEditPrompt(nIDCombo, hwndParent, CEnString(nIDPrompt)); }
BOOL CWndPromptManager::SetEditPrompt(HWND hwndEdit, UINT nIDPrompt) { return SetEditPrompt(hwndEdit, CEnString(nIDPrompt)); }
BOOL CWndPromptManager::SetPrompt(UINT nIDCtrl, HWND hwndParent, UINT nIDPrompt, UINT nCheckMsg, LRESULT lRes, int nVertOffset) { return SetPrompt(nIDCtrl, hwndParent, CEnString(nIDPrompt), nCheckMsg, lRes, nVertOffset); }
BOOL CWndPromptManager::SetPrompt(HWND hWnd, UINT nIDPrompt, UINT nCheckMsg, LRESULT lRes, int nVertOffset) { return SetPrompt(hWnd, CEnString(nIDPrompt), nCheckMsg, lRes, nVertOffset); }
void CTDLFilterBar::RefreshFilterControls(const CFilteredToDoCtrl& tdc) { m_bWantHideParents = tdc.HasStyle(TDCS_ALWAYSHIDELISTPARENTS); // column visibility CTDCColumnIDArray aColumns; tdc.GetVisibleColumns(aColumns); SetVisibleFilters(aColumns); // get filter tdc.GetFilter(m_filter); m_nView = tdc.GetView(); // get custom filter m_bCustomFilter = tdc.HasCustomFilter(); m_sCustomFilter = tdc.GetCustomFilterName(); if (m_bCustomFilter && m_sCustomFilter.IsEmpty()) m_sCustomFilter = CEnString(IDS_UNNAMEDFILTER); // alloc to filter CStringArray aItems; tdc.GetAllocToNames(aItems); m_cbAllocToFilter.SetStrings(aItems); m_cbAllocToFilter.AddEmptyString(); // add blank item to top // alloc by filter tdc.GetAllocByNames(aItems); m_cbAllocByFilter.SetStrings(aItems); m_cbAllocByFilter.AddEmptyString(); // add blank item to top // category filter tdc.GetCategoryNames(aItems); m_cbCategoryFilter.SetStrings(aItems); m_cbCategoryFilter.AddEmptyString(); // add blank item to top // status filter tdc.GetStatusNames(aItems); m_cbStatusFilter.SetStrings(aItems); m_cbStatusFilter.AddEmptyString(); // add blank item to top // version filter tdc.GetVersionNames(aItems); m_cbVersionFilter.SetStrings(aItems); m_cbVersionFilter.AddEmptyString(); // add blank item to top // tag filter tdc.GetTagNames(aItems); m_cbTagFilter.SetStrings(aItems); m_cbTagFilter.AddEmptyString(); // add blank item to top // priority m_cbPriorityFilter.SetColors(m_aPriorityColors); m_cbPriorityFilter.InsertColor(0, NO_COLOR, CString((LPCTSTR)IDS_TDC_ANY)); // add a blank item // risk never needs changing // update UI UpdateData(FALSE); Invalidate(); // disable controls if a custom filter. // just do a repos because this also handles enabled state ReposControls(); }