[NEW] Make search in hidden folder optional in find in file.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@192 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
017784de5b
commit
2951979ef5
|
@ -1238,7 +1238,7 @@ void Notepad_plus::loadLastSession()
|
|||
loadSession(lastSession);
|
||||
}
|
||||
|
||||
void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & patterns, vector<string> & fileNames, bool isRecursive)
|
||||
void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & patterns, vector<string> & fileNames, bool isRecursive, bool isInHiddenDir)
|
||||
{
|
||||
string dirFilter(dir);
|
||||
dirFilter += "*.*";
|
||||
|
@ -1251,7 +1251,7 @@ void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & p
|
|||
|
||||
if (foundData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||
{
|
||||
if (foundData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
|
||||
if (!isInHiddenDir && (foundData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
|
||||
{
|
||||
// branles rien
|
||||
}
|
||||
|
@ -1262,7 +1262,7 @@ void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & p
|
|||
string pathDir(dir);
|
||||
pathDir += foundData.cFileName;
|
||||
pathDir += "\\";
|
||||
getMatchedFileNames(pathDir.c_str(), patterns, fileNames, isRecursive);
|
||||
getMatchedFileNames(pathDir.c_str(), patterns, fileNames, isRecursive, isInHiddenDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1280,7 +1280,7 @@ void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & p
|
|||
{
|
||||
if (foundData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||
{
|
||||
if (foundData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
|
||||
if (!isInHiddenDir && (foundData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
|
||||
{
|
||||
// branles rien
|
||||
}
|
||||
|
@ -1291,7 +1291,7 @@ void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & p
|
|||
string pathDir(dir);
|
||||
pathDir += foundData.cFileName;
|
||||
pathDir += "\\";
|
||||
getMatchedFileNames(pathDir.c_str(), patterns, fileNames, isRecursive);
|
||||
getMatchedFileNames(pathDir.c_str(), patterns, fileNames, isRecursive, isInHiddenDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1308,7 +1308,7 @@ void Notepad_plus::getMatchedFileNames(const char *dir, const vector<string> & p
|
|||
::FindClose(hFile);
|
||||
}
|
||||
|
||||
bool Notepad_plus::findInFiles(bool isRecursive)
|
||||
bool Notepad_plus::findInFiles(bool isRecursive, bool isInHiddenDir)
|
||||
{
|
||||
int nbTotal = 0;
|
||||
ScintillaEditView *pOldView = _pEditView;
|
||||
|
@ -1330,7 +1330,7 @@ bool Notepad_plus::findInFiles(bool isRecursive)
|
|||
_findReplaceDlg.setFindInFilesDirFilter(NULL, "*.*");
|
||||
_findReplaceDlg.getPatterns(patterns2Match);
|
||||
vector<string> fileNames;
|
||||
getMatchedFileNames(dir2Search, patterns2Match, fileNames, isRecursive);
|
||||
getMatchedFileNames(dir2Search, patterns2Match, fileNames, isRecursive, isInHiddenDir);
|
||||
|
||||
for (size_t i = 0 ; i < fileNames.size() ; i++)
|
||||
{
|
||||
|
@ -2795,7 +2795,6 @@ void Notepad_plus::command(int id)
|
|||
char dir[MAX_PATH];
|
||||
strcpy(dir, _pEditView->getCurrentTitle());
|
||||
PathRemoveFileSpec((LPSTR)dir);
|
||||
|
||||
str2Cliboard(dir);
|
||||
}
|
||||
break;
|
||||
|
@ -6555,8 +6554,9 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||
|
||||
case WM_FINDINFILES :
|
||||
{
|
||||
bool isRecursive = lParam == TRUE;
|
||||
findInFiles(isRecursive);
|
||||
bool isRecursive = bool(lParam & FIND_RECURSIVE);
|
||||
bool isInHiddenFolder = bool(lParam & FIND_INHIDDENDIR);
|
||||
findInFiles(isRecursive, isInHiddenFolder);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -8257,7 +8257,6 @@ bool Notepad_plus::str2Cliboard(const char *str2cpy)
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
void Notepad_plus::markSelectedText()
|
||||
{
|
||||
const NppGUI & nppGUI = (NppParameters::getInstance())->getNppGUI();
|
||||
|
|
|
@ -597,10 +597,10 @@ private:
|
|||
void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText);
|
||||
bool replaceAllFiles();
|
||||
bool findInOpenedFiles();
|
||||
bool findInFiles(bool isRecursive);
|
||||
bool findInFiles(bool isRecursive, bool isInHiddenDir);
|
||||
|
||||
bool matchInList(const char *fileName, const vector<string> & patterns);
|
||||
void getMatchedFileNames(const char *dir, const vector<string> & patterns, vector<string> & fileNames, bool isRecursive);
|
||||
void getMatchedFileNames(const char *dir, const vector<string> & patterns, vector<string> & fileNames, bool isRecursive, bool isInHiddenDir);
|
||||
|
||||
void doSynScorll(HWND hW);
|
||||
void setWorkingDir(char *dir) {
|
||||
|
@ -622,6 +622,7 @@ private:
|
|||
::SetCurrentDirectory(dir);
|
||||
}
|
||||
bool str2Cliboard(const char *str2cpy);
|
||||
bool bin2Cliboard(const unsigned char *uchar2cpy, size_t length);
|
||||
|
||||
bool getIntegralDockingData(tTbData & dockData, int & iCont, bool & isVisible);
|
||||
|
||||
|
|
|
@ -744,6 +744,13 @@ BOOL CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP
|
|||
}
|
||||
return TRUE;
|
||||
|
||||
case IDD_FINDINFILES_INHIDDENDIR_CHECK :
|
||||
{
|
||||
if (_currentStatus == FINDINFILES_DLG)
|
||||
_isInHiddenDir = isCheckedOrNot(IDD_FINDINFILES_INHIDDENDIR_CHECK);
|
||||
|
||||
}
|
||||
return TRUE;
|
||||
case IDD_FINDINFILES_BROWSE_BUTTON :
|
||||
{
|
||||
if (_currentStatus == FINDINFILES_DLG)
|
||||
|
@ -1285,7 +1292,12 @@ void FindReplaceDlg::findAllIn(InWhat op)
|
|||
_pFinder->setMode(op);
|
||||
|
||||
::SendMessage(_pFinder->getHSelf(), WM_SIZE, 0, 0);
|
||||
::SendMessage(_hParent, (op==ALL_OPEN_DOCS)?WM_FINDALL_INOPENEDDOC:WM_FINDINFILES, 0, (op!=ALL_OPEN_DOCS)?_isRecursive:0);
|
||||
|
||||
int finInFileOpt = _isRecursive?FIND_RECURSIVE:0;
|
||||
if (_isRecursive)
|
||||
finInFileOpt |= _isInHiddenDir?FIND_INHIDDENDIR:0;
|
||||
|
||||
::SendMessage(_hParent, (op==ALL_OPEN_DOCS)?WM_FINDALL_INOPENEDDOC:WM_FINDINFILES, 0, (op!=ALL_OPEN_DOCS)?finInFileOpt:0);
|
||||
//char *pDataToWrite = _findAllResultStr + strlen(FIND_RESULT_DEFAULT_TITLE);
|
||||
sprintf(_findAllResultStr, "%d hits", _findAllResult);
|
||||
::SendMessage(_hParent, NPPM_DMMSHOW, 0, (LPARAM)_pFinder->getHSelf());
|
||||
|
@ -1365,6 +1377,7 @@ void FindReplaceDlg::enableFindInFilesControls(bool isEnable)
|
|||
::ShowWindow(::GetDlgItem(_hSelf, IDD_FINDINFILES_FIND_BUTTON), isEnable?SW_SHOW:SW_HIDE);
|
||||
::ShowWindow(::GetDlgItem(_hSelf, IDD_FINDINFILES_GOBACK_BUTTON), isEnable?SW_SHOW:SW_HIDE);
|
||||
::ShowWindow(::GetDlgItem(_hSelf, IDD_FINDINFILES_RECURSIVE_CHECK), isEnable?SW_SHOW:SW_HIDE);
|
||||
::ShowWindow(::GetDlgItem(_hSelf, IDD_FINDINFILES_INHIDDENDIR_CHECK), isEnable?SW_SHOW:SW_HIDE);
|
||||
|
||||
char label[MAX_PATH];
|
||||
_tab.getCurrentTitle(label, sizeof(label));
|
||||
|
|
|
@ -25,11 +25,10 @@
|
|||
#include "StatusBar.h"
|
||||
#include "DockingDlgInterface.h"
|
||||
|
||||
/*
|
||||
typedef bool DIALOG_TYPE;
|
||||
#define REPLACE true
|
||||
#define FIND false
|
||||
*/
|
||||
|
||||
#define FIND_RECURSIVE 1
|
||||
#define FIND_INHIDDENDIR 2
|
||||
|
||||
enum DIALOG_TYPE {FIND_DLG, REPLACE_DLG, FINDINFILES_DLG};
|
||||
|
||||
#define DIR_DOWN true
|
||||
|
@ -173,7 +172,8 @@ class FindReplaceDlg : public StaticDialog
|
|||
{
|
||||
friend class FindIncrementDlg;
|
||||
public :
|
||||
FindReplaceDlg() : StaticDialog(), _pFinder(NULL), _isRTL(false), _isRecursive(true), _maxNbCharAllocated(1024), _fileNameLenMax(1024) {
|
||||
FindReplaceDlg() : StaticDialog(), _pFinder(NULL), _isRTL(false), _isRecursive(true),_isInHiddenDir(false),\
|
||||
_maxNbCharAllocated(1024), _fileNameLenMax(1024) {
|
||||
_line = new char[_maxNbCharAllocated + 3];
|
||||
_uniCharLine = new char[(_maxNbCharAllocated + 3) * 2];
|
||||
_uniFileName = new char[(_fileNameLenMax + 3) * 2];
|
||||
|
@ -333,6 +333,7 @@ private :
|
|||
string _filters;
|
||||
string _directory;
|
||||
bool _isRecursive;
|
||||
bool _isInHiddenDir;
|
||||
|
||||
int _maxNbCharAllocated;
|
||||
int _fileNameLenMax;
|
||||
|
|
|
@ -48,7 +48,8 @@ BEGIN
|
|||
RTEXT "Directory :",IDD_FINDINFILES_DIR_STATIC,7,58,40,8
|
||||
COMBOBOX IDD_FINDINFILES_DIR_COMBO,49,57,141,150, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "...",IDD_FINDINFILES_BROWSE_BUTTON,193,56,16,14
|
||||
CONTROL "In all sub-folders",IDD_FINDINFILES_RECURSIVE_CHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,49,70,110,15
|
||||
CONTROL "In all sub-folders",IDD_FINDINFILES_RECURSIVE_CHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,49,70,80,15
|
||||
CONTROL "In hidden folders",IDD_FINDINFILES_INHIDDENDIR_CHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,129,70,80,15
|
||||
|
||||
CONTROL "Match &whole word only",IDWHOLEWORD,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,6,88,110,15
|
||||
CONTROL "Match &case",IDMATCHCASE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,100,110,15
|
||||
|
|
|
@ -53,7 +53,8 @@
|
|||
#define IDD_FINDINFILES_DIR_STATIC 1655
|
||||
#define IDD_FINDINFILES_FIND_BUTTON 1656
|
||||
#define IDD_FINDINFILES_GOBACK_BUTTON 1657
|
||||
#define IDD_FINDINFILES_RECURSIVE_CHECK 1658
|
||||
#define IDD_FINDINFILES_RECURSIVE_CHECK 1658
|
||||
#define IDD_FINDINFILES_INHIDDENDIR_CHECK 1659
|
||||
|
||||
#define IDD_FINDRESULT 1670
|
||||
|
||||
|
|
Loading…
Reference in New Issue