ThreadSearchThread::ThreadSearchThread(ThreadSearchView* pThreadSearchView, const ThreadSearchFindData& findData) { m_pThreadSearchView = pThreadSearchView; m_FindData = findData; // If wxDIR_IGNORE is used, we don't recurse in sub directories during directory search m_DefaultDirResult = (findData.GetRecursiveSearch() == true) ? wxDIR_CONTINUE : wxDIR_IGNORE; // File patterns separator is ';' m_Masks = GetArrayFromString(m_FindData.GetSearchMask()); if ( m_Masks.GetCount() == 0 ) { m_Masks.Add(_T("*")); } m_pTextFileSearcher = TextFileSearcher::BuildTextFileSearcher(findData.GetFindText(), findData.GetMatchCase(), findData.GetStartWord(), findData.GetMatchWord(), findData.GetRegEx()); if (!m_pTextFileSearcher) { ThreadSearchEvent event(wxEVT_THREAD_SEARCH_ERROR, -1); event.SetString(_("TextFileSearcher could not be instantiated.")); // Using wxPostEvent, we avoid multi-threaded memory violation. wxPostEvent( m_pThreadSearchView,event); } ConfigManager* pCfg = Manager::Get()->GetConfigManager(_T("ThreadSearch")); m_ShowFileMissingError=pCfg->ReadBool(wxT("/ShowFileMissingError"),true); m_ShowCantOpenFileError=pCfg->ReadBool(wxT("/ShowCantOpenFileError"),true); }
void ThreadSearchView::set_properties() { const wxString &prefix = GetToolbarImagePrefix(); // begin wxGlade: ThreadSearchView::set_properties SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)); m_pCboSearchExpr->SetMinSize(wxSize(180, -1)); m_pBtnSearch->SetToolTip(_("Search in files")); m_pBtnSearch->SetBitmapDisabled(wxBitmap(prefix + wxT("findfdisabled.png"), wxBITMAP_TYPE_PNG)); m_pBtnSearch->SetSize(m_pBtnSearch->GetBestSize()); m_pBtnOptions->SetToolTip(_("Options")); m_pBtnOptions->SetBitmapDisabled(wxBitmap(prefix + wxT("optionsdisabled.png"), wxBITMAP_TYPE_PNG)); m_pBtnOptions->SetSize(m_pBtnOptions->GetBestSize()); m_pBtnShowDirItems->SetToolTip(_("Show dir Items")); m_pBtnShowDirItems->SetBitmapDisabled(wxBitmap(prefix + wxT("showdirdisabled.png"), wxBITMAP_TYPE_PNG)); m_pBtnShowDirItems->SetSize(m_pBtnShowDirItems->GetBestSize()); m_pPnlPreview->SetMinSize(wxSize(25, -1)); // end wxGlade m_pSearchPreview->SetReadOnly(true); ThreadSearchFindData findData; m_ThreadSearchPlugin.GetFindData(findData); m_pPnlDirParams->SetSearchDirHidden(findData.GetHiddenSearch()); m_pPnlDirParams->SetSearchDirRecursively(findData.GetRecursiveSearch()); m_pPnlDirParams->SetSearchDirPath(findData.GetSearchPath()); m_pPnlDirParams->SetSearchMask(findData.GetSearchMask()); m_pPnlSearchIn->SetSearchInOpenFiles(findData.MustSearchInOpenFiles()); m_pPnlSearchIn->SetSearchInTargetFiles(findData.MustSearchInTarget()); m_pPnlSearchIn->SetSearchInProjectFiles(findData.MustSearchInProject()); m_pPnlSearchIn->SetSearchInWorkspaceFiles(findData.MustSearchInWorkspace()); m_pPnlSearchIn->SetSearchInDirectory(findData.MustSearchInDirectory()); UpdateOptionsButtonImage(findData); }