void SFTPTreeView::OnFileDropped(clCommandEvent& event) { wxArrayTreeItemIds items; m_treeCtrl->GetSelections(items); wxTreeItemId parenItem; wxString defaultPath = m_textCtrlQuickJump->GetValue(); if(items.size() == 1) { // Use the selected folder as the default path MyClientData* cd = GetItemData(items.Item(0)); if(cd && cd->IsFolder()) { defaultPath = cd->GetFullPath(); parenItem = items.Item(0); } } SFTPUploadDialog dlg(EventNotifier::Get()->TopFrame()); dlg.GetTextCtrlRemoteFolder()->ChangeValue(defaultPath); if(dlg.ShowModal() != wxID_OK) return; const wxString targetFolder = dlg.GetTextCtrlRemoteFolder()->GetValue(); const wxArrayString& files = event.GetStrings(); for(size_t i = 0; i < files.size(); ++i) { wxFileName localFile(files.Item(i)); wxString remotePath; remotePath << targetFolder << "/" << localFile.GetFullName(); if(parenItem.IsOk()) { wxTreeItemId fileItem = DoAddFile(parenItem, remotePath); if(!fileItem.IsOk()) continue; } SFTPWorkerThread::Instance()->Add(new SFTPThreadRequet(m_account, remotePath, localFile.GetFullPath(), 0)); } }
void PHPWorkspace::OnProjectSyncEnd(clCommandEvent& event) { const wxString& name = event.GetString(); if(m_inSyncProjects.count(name) == 0) { clWARNING() << "PHPWorkspace::OnProjectSyncEnd: unable to find project '" << name << "' in the workspace..." << clEndl; return; } clDEBUG() << "PHPWorkspace::OnProjectSyncEnd: project" << name << "completed sync" << clEndl; m_inSyncProjects.erase(name); // Load the project PHPProject::Ptr_t pProj = GetProject(name); CHECK_PTR_RET(pProj); // Update the project files pProj->SetFiles(event.GetStrings()); if(m_inSyncProjects.empty()) { clDEBUG() << "PHPWorkspace::OnProjectSyncEnd: all projects completed sync" << clEndl; if(m_projectSyncOwner) { clCommandEvent endEvent(wxEVT_PHP_WORKSPACE_FILES_SYNC_END); m_projectSyncOwner->AddPendingEvent(endEvent); } } }
void PhpPlugin::OnGetFiFMask(clCommandEvent& e) { // always skip this event so other plugins could modify it as well e.Skip(); if(PHPWorkspace::Get()->IsOpen()) { e.GetStrings().Add("*.php;*.inc;*.phtml;*.js;*.html;*.css"); } }
void clTreeCtrlPanel::OnFolderDropped(clCommandEvent& event) { const wxArrayString& folders = event.GetStrings(); for(size_t i = 0; i < folders.size(); ++i) { AddFolder(folders.Item(i)); } ::clGetManager()->GetWorkspaceView()->SelectPage(GetViewName()); }
void MainBook::OnProjectFileRemoved(clCommandEvent& e) { e.Skip(); const wxArrayString& files = e.GetStrings(); for(size_t i = 0; i < files.GetCount(); ++i) { LEditor* editor = FindEditor(files.Item(i)); if(editor && files.Index(editor->GetFileName().GetFullPath()) != wxNOT_FOUND) { editor->SetProject(wxEmptyString); } } }
void MainBook::OnProjectFileAdded(clCommandEvent& e) { e.Skip(); const wxArrayString& files = e.GetStrings(); for(size_t i = 0; i < files.GetCount(); i++) { LEditor* editor = FindEditor(files.Item(i)); if(editor) { wxString fileName = editor->GetFileName().GetFullPath(); if(files.Index(fileName) != wxNOT_FOUND) { editor->SetProject(ManagerST::Get()->GetProjectNameByFile(fileName)); } } } }
void DefaultWorkspacePage::OnFolderDropped(clCommandEvent& event) { const wxArrayString& folders = event.GetStrings(); CallAfter(&DefaultWorkspacePage::DoDropFolders, folders); }