void CTextConflictEditorDlg::DoModal(HWND parent) { auto path = m_conflictInfo->GetPath().GetFileOrDirectoryName(); CString sDialogTitle; sDialogTitle.LoadString(IDS_PROC_EDIT_TREE_CONFLICTS); sDialogTitle = CCommonAppUtils::FormatWindowTitle(path, sDialogTitle); if (!m_conflictInfo->GetTextResolutionOptions(m_options)) { m_conflictInfo->ShowErrorDialog(parent); } CString sMainInstruction; if (m_conflictInfo->IsBinary()) sMainInstruction.Format(IDS_EDITCONFLICT_TEXT_BINARY_MAININSTRUCTION, (LPCWSTR)path); else sMainInstruction.Format(IDS_EDITCONFLICT_TEXT_MAININSTRUCTION, (LPCWSTR)path); CString sContent = m_conflictInfo->GetPath().GetUIPathString(); for (SVNConflictOptions::const_iterator it = m_options.begin(); it != m_options.end(); ++it) { CString optLabel = (*it)->GetLabel(); CString optDescription((*it)->GetDescription()); optDescription.SetAt(0, towupper(optDescription[0])); int buttonID = 100 + (*it)->GetId(); AddCommandButton(buttonID, optLabel + L"\n" + optDescription); } AddCommandButton(1000, CString(MAKEINTRESOURCE(IDS_EDITCONFLICT_PROP_EDITCMD))); int button; TASKDIALOGCONFIG taskConfig = { 0 }; taskConfig.cbSize = sizeof(taskConfig); taskConfig.hwndParent = parent; taskConfig.dwFlags = TDF_USE_COMMAND_LINKS | TDF_ALLOW_DIALOG_CANCELLATION | TDF_POSITION_RELATIVE_TO_WINDOW | TDF_CALLBACK_TIMER; taskConfig.lpCallbackData = (LONG_PTR) this; taskConfig.pfCallback = TaskDialogCallback; taskConfig.pszWindowTitle = sDialogTitle; taskConfig.pszMainInstruction = sMainInstruction; taskConfig.pszContent = sContent; taskConfig.pButtons = &m_buttons.front(); taskConfig.cButtons = (int)m_buttons.size(); taskConfig.dwCommonButtons = TDCBF_CANCEL_BUTTON; TaskDialogIndirect(&taskConfig, &button, NULL, NULL); if (button == IDCANCEL) { m_bCancelled = true; } }
void CNewTreeConflictEditorDlg::DoModal(HWND parent) { CTSVNPath path = m_conflictInfo->GetPath(); CString sDialogTitle; sDialogTitle.LoadString(IDS_PROC_EDIT_TREE_CONFLICTS); sDialogTitle = CCommonAppUtils::FormatWindowTitle(path.GetUIPathString(), sDialogTitle); if (!m_conflictInfo->GetTreeResolutionOptions(m_options)) { m_conflictInfo->ShowErrorDialog(parent); } CString sMainInstruction = m_conflictInfo->GetIncomingChangeSummary(); CString sContent = m_conflictInfo->GetLocalChangeSummary(); int button; for (SVNConflictOptions::const_iterator it = m_options.begin(); it != m_options.end(); ++it) { svn_client_conflict_option_id_t id = (*it)->GetId(); CString optLabel = (*it)->GetLabel(); CString optDescription((*it)->GetDescription()); optDescription.SetAt(0, towupper(optDescription[0])); AddCommandButton(100 + id, optLabel + L"\n" + optDescription); } TASKDIALOGCONFIG taskConfig = {0}; taskConfig.cbSize = sizeof(taskConfig); taskConfig.hwndParent = parent; taskConfig.dwFlags = TDF_USE_COMMAND_LINKS; taskConfig.lpCallbackData = (LONG_PTR) this; taskConfig.pfCallback = TaskDialogCallback; taskConfig.pszWindowTitle = sDialogTitle; taskConfig.pszMainInstruction = sMainInstruction; taskConfig.pszContent = sContent; taskConfig.pButtons = &m_buttons.front(); taskConfig.cButtons = (int) m_buttons.size(); taskConfig.dwCommonButtons = TDCBF_CANCEL_BUTTON; TaskDialogIndirect(&taskConfig, &button, NULL, NULL); if (button == IDCANCEL) { m_bCancelled = true; } }