1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include "SFTPGrep.h"
#include "cl_config.h"
SFTPGrep::SFTPGrep(wxWindow* parent)
: SFTPGrepBase(parent)
{
wxString find_what = clConfig::Get().Read("sftp/grep/finw_what", wxString());
wxString searchIn = clConfig::Get().Read("sftp/grep/search_in", wxString("*"));
bool ignoreCase = clConfig::Get().Read("sftp/grep/ignore_case", false);
bool wholeWord = clConfig::Get().Read("sftp/grep/whole_word", true);
m_checkBoxIgnoreCase->SetValue(ignoreCase);
m_checkBoxWholeWord->SetValue(wholeWord);
m_textCtrlFindWhat->ChangeValue(find_what);
m_textCtrlSeachIn->ChangeValue(searchIn);
}
SFTPGrep::~SFTPGrep()
{
clConfig::Get().Write("sftp/grep/finw_what", m_textCtrlFindWhat->GetValue());
clConfig::Get().Write("sftp/grep/search_in", m_textCtrlSeachIn->GetValue());
clConfig::Get().Write("sftp/grep/ignore_case", m_checkBoxIgnoreCase->IsChecked());
clConfig::Get().Write("sftp/grep/whole_word", m_checkBoxWholeWord->IsChecked());
}
void SFTPGrep::OnOkUI(wxUpdateUIEvent& event) { event.Enable(!m_textCtrlFindWhat->IsEmpty()); }
GrepData SFTPGrep::GetData() const
{
GrepData gd;
gd.SetFindWhat(m_textCtrlFindWhat->GetValue());
gd.SetSearchIn(m_textCtrlSeachIn->GetValue());
gd.SetIgnoreCase(m_checkBoxIgnoreCase->IsChecked());
gd.SetWholeWord(m_checkBoxWholeWord->IsChecked());
return gd;
}
wxString GrepData::GetGrepCommand(const wxString& path) const
{
wxString command;
command << "find " << path << " -name \"" << GetSearchIn() << "\" | xargs grep -n ";
if(IsIgnoreCase()) { command << " -i "; }
if(IsWholeWord()) { command << " -w "; }
command << " \"" << GetFindWhat() << "\"";
return command;
}
|