void CSimpleProjectCommandPopupButton::OnProjectDetach(wxCommandEvent& WXUNUSED(event)) { int projectIndex; wxInt32 iAnswer = 0; wxString strMessage = wxEmptyString; CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); if (!pDoc->IsUserAuthorized()) return; ProjectSelectionData* selData = ((CSimpleProjectPanel*)GetParent())->GetProjectSelectionData(); if (selData == NULL) return; char* ctrl_url = selData->project_url; PROJECT* project = FindProjectIndexFromURL(ctrl_url, &projectIndex); if (!project) return; wxString projname(project->project_name.c_str(), wxConvUTF8); strMessage.Printf( _("Are you sure you want to remove project '%s'?"), projname.c_str() ); iAnswer = wxGetApp().SafeMessageBox( strMessage, _("Remove Project"), wxYES_NO | wxICON_QUESTION, this ); if (wxYES == iAnswer) { pDoc->ProjectDetach(projectIndex); } }
void CViewProjects::OnProjectDetach( wxCommandEvent& WXUNUSED(event) ) { wxLogTrace(wxT("Function Start/End"), wxT("CViewProjects::OnProjectDetach - Function Begin")); wxInt32 iAnswer = 0; wxString strMessage = wxEmptyString; CMainDocument* pDoc = wxGetApp().GetDocument(); CAdvancedFrame* pFrame = wxDynamicCast(GetParent()->GetParent()->GetParent(), CAdvancedFrame); CProject* pProject = NULL; int row; wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(pFrame); wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); wxASSERT(m_pListPane); if (!pDoc->IsUserAuthorized()) return; pFrame->UpdateStatusText(_("Removing project...")); row = -1; while (1) { // Step through all selected items row = m_pListPane->GetNextItem(row, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (row < 0) break; if (GetProjectCacheAtIndex(pProject, m_iSortedIndexes[row])) { return; } strMessage.Printf( _("Are you sure you want to remove project '%s'?"), pProject->m_strProjectName.c_str() ); iAnswer = wxGetApp().SafeMessageBox( strMessage, _("Remove Project"), wxYES_NO | wxICON_QUESTION, this ); if (wxYES == iAnswer) { pDoc->ProjectDetach(m_iSortedIndexes[row]); } } pFrame->UpdateStatusText(wxT("")); m_bForceUpdateSelection = true; UpdateSelection(); pFrame->FireRefreshView(); wxLogTrace(wxT("Function Start/End"), wxT("CViewProjects::OnProjectDetach - Function End")); }