From b32a287c7e8ff0f8bbcf5bb7f38358c617f09e8c Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 28 Oct 2014 21:48:07 +0000 Subject: [PATCH] ide: Find in files Workspace option git-svn-id: svn://ultimatepp.org/upp/trunk@7828 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/FindInFiles.cpp | 17 ++++++++++++++--- uppsrc/ide/ide.lay | 23 ++++++++++++----------- uppsrc/plugin/lz4/lz4.upp | 3 --- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/uppsrc/ide/FindInFiles.cpp b/uppsrc/ide/FindInFiles.cpp index 4895d2b4c..a4f5ec6c3 100644 --- a/uppsrc/ide/FindInFiles.cpp +++ b/uppsrc/ide/FindInFiles.cpp @@ -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& 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 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) diff --git a/uppsrc/ide/ide.lay b/uppsrc/ide/ide.lay index 2f03f2bd2..baabd3a94 100644 --- a/uppsrc/ide/ide.lay +++ b/uppsrc/ide/ide.lay @@ -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, find, HSizePosZ(52, 4).TopPosZ(4, 19)) - ITEM(Label, dv___2, SetLabel(t_("In fil&es:")).LeftPosZ(4, 48).TopPosZ(28, 19)) - ITEM(WithDropChoice, files, HSizePosZ(52, 4).TopPosZ(28, 19)) - ITEM(Label, dv___4, SetLabel(t_("In f&older:")).LeftPosZ(4, 48).TopPosZ(52, 19)) - ITEM(WithDropChoice, folder, HSizePosZ(52, 4).TopPosZ(52, 19)) - ITEM(Label, replace_lbl, SetLabel(t_("&Replace:")).LeftPosZ(4, 48).TopPosZ(74, 22)) - ITEM(WithDropChoice, 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, find, HSizePosZ(52, 8).TopPosZ(4, 19)) + ITEM(Label, dv___2, SetLabel(t_("In fil&es")).LeftPosZ(4, 48).TopPosZ(28, 19)) + ITEM(WithDropChoice, files, HSizePosZ(52, 8).TopPosZ(28, 19)) + ITEM(Label, dv___4, SetLabel(t_("In f&older")).LeftPosZ(4, 48).TopPosZ(52, 19)) + ITEM(WithDropChoice, folder, HSizePosZ(52, 132).TopPosZ(52, 19)) + ITEM(Label, replace_lbl, SetLabel(t_("&Replace")).LeftPosZ(4, 48).TopPosZ(74, 22)) + ITEM(WithDropChoice, 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) diff --git a/uppsrc/plugin/lz4/lz4.upp b/uppsrc/plugin/lz4/lz4.upp index c939ba3b4..fb282da35 100644 --- a/uppsrc/plugin/lz4/lz4.upp +++ b/uppsrc/plugin/lz4/lz4.upp @@ -11,6 +11,3 @@ file lib\lz4.h, lib\LICENSE; -mainconfig - "" = "SSE2"; -