mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 14:16:09 -06:00
ide: Dir Diff extension selection
This commit is contained in:
parent
e53f0b3035
commit
1eb4c3f200
4 changed files with 25 additions and 6 deletions
|
|
@ -32,10 +32,11 @@ DirDiffDlg::DirDiffDlg()
|
|||
files_pane.Add(hidden.TopPos(2 * cy + 2 * div, bcy).LeftPos(0, bcx));
|
||||
files_pane.Add(split_lines.TopPos(2 * cy + 2 * div, bcy).LeftPosZ(52, 100));
|
||||
|
||||
files_pane.Add( added.TopPos(3 * cy + 3 * div, bcy).LeftPosZ(2, 60));
|
||||
files_pane.Add(added.TopPos(3 * cy + 3 * div, bcy).LeftPosZ(2, 60));
|
||||
files_pane.Add(modified.TopPos(3 * cy + 3 * div, bcy).LeftPosZ(52, 70));
|
||||
files_pane.Add( removed.TopPos(3 * cy + 3 * div, bcy).LeftPosZ(128, 80));
|
||||
files_pane.Add( recent.TopPos(3 * cy + 3 * div, bcy).RightPos(0, bcx));
|
||||
files_pane.Add(removed.TopPos(3 * cy + 3 * div, bcy).LeftPosZ(128, 80));
|
||||
files_pane.Add(recent.TopPos(3 * cy + 3 * div, bcy).RightPos(0, bcx));
|
||||
files_pane.Add(extension.TopPos(3 * cy + 3 * div, bcy).RightPos(bcx + DPI(8), bcx));
|
||||
|
||||
removed = 1;
|
||||
added = 1;
|
||||
|
|
@ -70,6 +71,7 @@ DirDiffDlg::DirDiffDlg()
|
|||
removed << [=] { ShowResult(); };
|
||||
added << [=] { ShowResult(); };
|
||||
find << [=] { ShowResult(); };
|
||||
extension << [=] { ShowResult(); };
|
||||
clearFind << [=] { find.Clear(); ShowResult();};
|
||||
|
||||
files.WhenSel = THISBACK(File);
|
||||
|
|
@ -211,6 +213,7 @@ void DirDiffDlg::Compare()
|
|||
Date dlim = IsNull(recent) ? Null : GetSysDate() - (int)~recent;
|
||||
|
||||
list.Clear();
|
||||
Index<String> exts;
|
||||
for(int i = 0; i < f.GetCount(); i++) {
|
||||
if(pi.StepCanceled())
|
||||
break;
|
||||
|
|
@ -221,10 +224,18 @@ void DirDiffDlg::Compare()
|
|||
return path.Find("/.git/") >= 0 || path.Find("\\.git/") >= 0 || path.Find("\\.git\\") >= 0 || path.Find("/.git\\") >= 0;
|
||||
};
|
||||
if((IsNull(dlim) || FileGetTime(p1) >= dlim || FileGetTime(p2) >= dlim) && !FileEqual(p1, p2, n) &&
|
||||
!IsGit(p1) && !IsGit(p2))
|
||||
!IsGit(p1) && !IsGit(p2)) {
|
||||
exts.FindAdd(GetFileExt(p1));
|
||||
list.Add(MakeTuple(f[i], p1, p2, n));
|
||||
}
|
||||
}
|
||||
|
||||
extension.Clear();
|
||||
extension.Add(Null, "*.*");
|
||||
for(int ii : GetSortOrder(exts))
|
||||
extension.Add(exts[ii], "*" + exts[ii]);
|
||||
extension.Enable();
|
||||
|
||||
ShowResult();
|
||||
}
|
||||
|
||||
|
|
@ -256,13 +267,16 @@ FileList::File DirDiffDlg::MakeFile(int i)
|
|||
void DirDiffDlg::ShowResult()
|
||||
{
|
||||
files.Clear();
|
||||
String sFind = ToLower((String)~find);
|
||||
String sFind = ToLower(~~find);
|
||||
String ext = ToLower(~~extension);
|
||||
for(int i = 0; i < list.GetCount(); i++)
|
||||
{
|
||||
int n = list[i].d;
|
||||
String fn = ToLower(list[i].a);
|
||||
if((n == NORMAL_FILE && modified || n == DELETED_FILE && removed
|
||||
|| n == NEW_FILE && added || n == FAILED_FILE || n == PATCHED_FILE)
|
||||
&& ToLower(list[i].a).Find(sFind) >= 0)
|
||||
&& fn.Find(sFind) >= 0
|
||||
&& fn.EndsWith(ext))
|
||||
files.Add(MakeFile(i));
|
||||
}
|
||||
Title(AsString(files.GetCount()) + " files");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue