From 4e28164ebfe95b1348580a2ae3cda7b1a7cf51d4 Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Wed, 18 Oct 2023 11:25:15 +0200 Subject: [PATCH] ide: repo diff fixes --- uppsrc/TextDiffCtrl/DiffCtrl.cpp | 5 ++--- uppsrc/ide/Diff.cpp | 9 +++++++-- uppsrc/ide/DirRepoDiff.cpp | 4 ---- uppsrc/ide/idefile.cpp | 4 +++- uppsrc/ide/idetool.cpp | 1 - 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/uppsrc/TextDiffCtrl/DiffCtrl.cpp b/uppsrc/TextDiffCtrl/DiffCtrl.cpp index dc0fb8de3..9821c9d1d 100644 --- a/uppsrc/TextDiffCtrl/DiffCtrl.cpp +++ b/uppsrc/TextDiffCtrl/DiffCtrl.cpp @@ -217,16 +217,15 @@ bool HasCrs(const String& path) void DiffDlg::Write() { + revert.Enable(); if(diff.right.IsSelection()) { SaveFile(editfile, diff.Merge(true, HasCrs(editfile))); Refresh(); - revert.Enable(); return; } if(PromptYesNo("Do you want to overwrite&[* " + DeQtf(editfile) + "] ?")) { SaveFile(editfile, extfile); - Break(IDOK); - revert.Enable(); + Close(); } } diff --git a/uppsrc/ide/Diff.cpp b/uppsrc/ide/Diff.cpp index d0acb1560..94eaa5b40 100644 --- a/uppsrc/ide/Diff.cpp +++ b/uppsrc/ide/Diff.cpp @@ -125,8 +125,13 @@ void LoadGitRevisions(DropList& r, const String& dir, const String& branch, cons break; msg << l; } - if(commit.GetCount()) - r.Add(commit, "\1[g [@b \1" + date + "\1] [@r \1" + author + "\1]: [* \1" + Join(Split(msg, CharFilterWhitespace), " ")); + if(commit.GetCount()) { + String h = commit; + if(h.GetCount() > 4) + h.Trim(4); + r.Add(commit, "\1[g [@b \1" + date + "\1] [@g \1" + h + "\1] [@r \1" + author + "\1]: " + "[* \1" + Join(Split(msg, CharFilterWhitespace), " ")); + } date = commit = author = Null; } else diff --git a/uppsrc/ide/DirRepoDiff.cpp b/uppsrc/ide/DirRepoDiff.cpp index 2a3d909d4..3a24e97ba 100644 --- a/uppsrc/ide/DirRepoDiff.cpp +++ b/uppsrc/ide/DirRepoDiff.cpp @@ -173,8 +173,4 @@ void DirRepoDiffDlg::Compare() }; if(Clone(0, dir1, lmid) && Clone(1, dir2, rmid)) DirDiffDlg::Compare(); - if(IsGit(0)) - dir1 <<= Null; - if(IsGit(1)) - dir2 <<= Null; } diff --git a/uppsrc/ide/idefile.cpp b/uppsrc/ide/idefile.cpp index 685ef4137..c66bc3a39 100644 --- a/uppsrc/ide/idefile.cpp +++ b/uppsrc/ide/idefile.cpp @@ -868,7 +868,9 @@ void Ide::CheckFileUpdate() if(!editor.IsView() && !editor.IsReadOnly() && editor.GetUndoCount() && max((int64)editor.GetLength(), ff.GetLength()) < 30*1024*1024) { - ApplyChanges(editor, LoadFile(editfile)); + int c = editor.GetCursor(); + ApplyChanges(editor, LoadFile(editfile)); + editor.SetCursor(c); editor.ClearDirty(); // as it is "loaded" } else diff --git a/uppsrc/ide/idetool.cpp b/uppsrc/ide/idetool.cpp index e333f75aa..2d8ea37ee 100644 --- a/uppsrc/ide/idetool.cpp +++ b/uppsrc/ide/idetool.cpp @@ -490,7 +490,6 @@ void Ide::DoDirDiff() dlg.Dir1(dir[1]); dlg.SetFont(veditorfont); dlg.Maximize(); - dlg.Title("Compare directories"); dlg.OpenMain(); }