ide: Find in files Workspace option

git-svn-id: svn://ultimatepp.org/upp/trunk@7828 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2014-10-28 21:48:07 +00:00
parent c02a343e75
commit b32a287c7e
3 changed files with 26 additions and 17 deletions

View file

@ -12,7 +12,7 @@ FileSel& sSD()
}
void Ide::SerializeFindInFiles(Stream& s) {
int version = 5;
int version = 6;
s / version;
s % ff.files;
ff.files.SerializeList(s);
@ -32,6 +32,8 @@ void Ide::SerializeFindInFiles(Stream& s) {
s % ff.samecase;
if(version >= 5)
s % ff.regexp;
if(version >= 6)
s % ff.workspace;
}
void SearchForFiles(Vector<String>& files, String dir, String mask, int readonly, Progress& pi) {
@ -261,8 +263,15 @@ void Ide::FindInFiles(bool replace) {
ff.replace.AddHistory();
Progress pi("Found %d files to search.");
Vector<String> files;
SearchForFiles(files, NormalizePath((String)ff.folder, GetUppDir()),
~ff.files, ~ff.readonly, pi);
if(ff.workspace) {
const Workspace& wspc = GetIdeWorkspace();
for(int i = 0; i < wspc.GetCount(); i++)
SearchForFiles(files, GetFileFolder(PackagePath(wspc[i])),
~ff.files, ~ff.readonly, pi);
}
else
SearchForFiles(files, NormalizePath((String)ff.folder, GetUppDir()),
~ff.files, ~ff.readonly, pi);
if(!pi.Canceled()) {
String pattern;
RegExp rx, *regexp = NULL;
@ -412,12 +421,14 @@ void FindInFilesDlg::Sync()
wildcards.Enable(b);
ignorecase.Enable(b);
wholeword.Enable(b);
folder.Enable(!workspace);
}
FindInFilesDlg::FindInFilesDlg()
{
regexp <<= style <<= THISBACK(Sync);
readonly <<= Null;
workspace <<= THISBACK(Sync);
}
void FindInFilesDlg::Setup(bool replacing)

View file

@ -70,15 +70,15 @@ LAYOUT(RunLayout, 420, 172)
ITEM(Option, utf8, SetLabel(t_("Output is UTF-8")).LeftPosZ(312, 104).TopPosZ(76, 20))
END_LAYOUT
LAYOUT(FindInFilesLayout, 420, 152)
ITEM(Label, dv___0, SetLabel(t_("&Find:")).LeftPosZ(4, 48).TopPosZ(4, 19))
ITEM(WithDropChoice<EditString>, find, HSizePosZ(52, 4).TopPosZ(4, 19))
ITEM(Label, dv___2, SetLabel(t_("In fil&es:")).LeftPosZ(4, 48).TopPosZ(28, 19))
ITEM(WithDropChoice<EditString>, files, HSizePosZ(52, 4).TopPosZ(28, 19))
ITEM(Label, dv___4, SetLabel(t_("In f&older:")).LeftPosZ(4, 48).TopPosZ(52, 19))
ITEM(WithDropChoice<EditString>, folder, HSizePosZ(52, 4).TopPosZ(52, 19))
ITEM(Label, replace_lbl, SetLabel(t_("&Replace:")).LeftPosZ(4, 48).TopPosZ(74, 22))
ITEM(WithDropChoice<EditString>, replace, HSizePosZ(248, 4).TopPosZ(76, 19))
LAYOUT(FindInFilesLayout, 492, 152)
ITEM(Label, dv___0, SetLabel(t_("&Find")).LeftPosZ(4, 48).TopPosZ(4, 19))
ITEM(WithDropChoice<EditString>, find, HSizePosZ(52, 8).TopPosZ(4, 19))
ITEM(Label, dv___2, SetLabel(t_("In fil&es")).LeftPosZ(4, 48).TopPosZ(28, 19))
ITEM(WithDropChoice<EditString>, files, HSizePosZ(52, 8).TopPosZ(28, 19))
ITEM(Label, dv___4, SetLabel(t_("In f&older")).LeftPosZ(4, 48).TopPosZ(52, 19))
ITEM(WithDropChoice<EditString>, folder, HSizePosZ(52, 132).TopPosZ(52, 19))
ITEM(Label, replace_lbl, SetLabel(t_("&Replace")).LeftPosZ(4, 48).TopPosZ(74, 22))
ITEM(WithDropChoice<EditString>, replace, HSizePosZ(248, 8).TopPosZ(76, 19))
ITEM(Switch, style, SetLabel(t_("&None\nCo&nfirm\n&Auto")).LeftPosZ(52, 164).TopPosZ(78, 15))
ITEM(Label, replace_lbl2, SetLabel(t_("with:")).LeftPosZ(220, 28).TopPosZ(76, 19))
ITEM(Option, wholeword, SetLabel(t_("&Whole word")).LeftPosZ(54, 80).BottomPosZ(34, 18))
@ -87,8 +87,9 @@ LAYOUT(FindInFilesLayout, 420, 152)
ITEM(Option, samecase, SetLabel(t_("Mimic case")).LeftPosZ(288, 100).BottomPosZ(34, 18))
ITEM(Option, regexp, SetLabel(t_("RegEx")).LeftPosZ(368, 112).BottomPosZ(34, 18))
ITEM(Option, readonly, ThreeState(true).SetLabel(t_("Read-only files")).LeftPosZ(54, 142).BottomPosZ(14, 16))
ITEM(Button, ok, SetLabel(t_("OK")).RightPosZ(72, 64).BottomPosZ(6, 22))
ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(4, 64).BottomPosZ(6, 22))
ITEM(Button, ok, SetLabel(t_("OK")).RightPosZ(76, 64).BottomPosZ(6, 22))
ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(8, 64).BottomPosZ(6, 22))
ITEM(Option, workspace, SetLabel(t_("In workspace folders")).LeftPosZ(364, 136).TopPosZ(52, 20))
END_LAYOUT
LAYOUT(BatchBuildLayout, 276, 276)

View file

@ -11,6 +11,3 @@ file
lib\lz4.h,
lib\LICENSE;
mainconfig
"" = "SSE2";