message: fix diff in old to new
diff: @@ -872,6 +872,8 @@ void HunkWidget::setEditorLineInfos(QList<Line>& lines, Account::FileComments& c
  bool staged = false;
  int current_staged_index = -1;
  int current_staged_line_idx = 0;
  + int diff_patch_old_new_file = -1;
  + int diff_staged_patch_old_new_file = -1;
  // Find the first staged hunk which is within this patch
  auto patch_header_struct = mPatch.header_struct(mIndex);
  @@ -895,8 +897,11 @@ void HunkWidget::setEditorLineInfos(QList<Line>& lines, Account::FileComments& c
  if (current_staged_index >= 0) {
  auto staged_header_struct_next = mStaged.header_struct(current_staged_index + 1);
  if (!first_staged_patch_match) {
  - if (mPatch.lineNumber(mIndex, lidx, git::Diff::OldFile) == mStaged.header_struct(current_staged_index)->old_start)
  + if (mPatch.lineNumber(mIndex, lidx, git::Diff::OldFile) == mStaged.header_struct(current_staged_index)->old_start) {
  first_staged_patch_match = true;
  + diff_patch_old_new_file = mPatch.lineNumber(mIndex, lidx, git::Diff::NewFile) - mPatch.lineNumber(mIndex, lidx, git::Diff::OldFile);
  + diff_staged_patch_old_new_file = mStaged.lineNumber(current_staged_index, 0, git::Diff::NewFile) - mStaged.lineNumber(current_staged_index, 0, git::Diff::OldFile);
  + }
  current_staged_line_idx = 0;
  } else if(staged_header_struct_next && mPatch.lineNumber(mIndex, lidx, git::Diff::OldFile) == staged_header_struct_next->old_start) {
  // Align staged patch with total patch
  @@ -939,8 +944,8 @@ void HunkWidget::setEditorLineInfos(QList<Line>& lines, Account::FileComments& c
  if (mStaged.count() > 0 && current_staged_index >= 0 && current_staged_line_idx < mStaged.lineCount(current_staged_index)) {
  auto line_origin = mStaged.lineOrigin(current_staged_index, current_staged_line_idx);
  - auto staged_file = mStaged.lineNumber(current_staged_index, current_staged_line_idx, git::Diff::NewFile);
  - auto patch_file = mPatch.lineNumber(mIndex, lidx, git::Diff::NewFile) - (additions_tot - stagedAdditions) + (deletions_tot - stagedDeletions); // - offset_patch_old_new;
  + auto staged_file = mStaged.lineNumber(current_staged_index, current_staged_line_idx, git::Diff::NewFile) - diff_staged_patch_old_new_file;
  + auto patch_file = mPatch.lineNumber(mIndex, lidx, git::Diff::NewFile) - (additions_tot - stagedAdditions) + (deletions_tot - stagedDeletions) - diff_patch_old_new_file; // - offset_patch_old_new;
  if (line_origin == '+' && staged_file == patch_file && mStaged.lineContent(current_staged_index, current_staged_line_idx) == mPatch.lineContent(mIndex, lidx)) {
  stagedAdditions++;
  current_staged_line_idx++;
  