From 7189ce1569fb729eaeebcf8c3cdeffc59ad08232 Mon Sep 17 00:00:00 2001 From: Sup Yut Sum Date: Tue, 9 Apr 2013 21:11:17 +0800 Subject: [PATCH] Ask what file to save as, defaults to last view Based on TortoiseSVN revision 24093 Signed-off-by: Sup Yut Sum --- src/TortoiseMerge/BaseView.cpp | 4 ++-- src/TortoiseMerge/BaseView.h | 2 +- src/TortoiseMerge/MainFrm.cpp | 18 +++++++++++++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/TortoiseMerge/BaseView.cpp b/src/TortoiseMerge/BaseView.cpp index 9822533f3..5ec4c4690 100644 --- a/src/TortoiseMerge/BaseView.cpp +++ b/src/TortoiseMerge/BaseView.cpp @@ -5365,12 +5365,12 @@ int CBaseView::SaveFile(int nFlags) } -int CBaseView::SaveFileTo(CString sFileName) +int CBaseView::SaveFileTo(CString sFileName, int nFlags) { if (m_pWorkingFile) { m_pWorkingFile->SetFileName(sFileName); - return SaveFile(); + return SaveFile(nFlags); } return -1; } diff --git a/src/TortoiseMerge/BaseView.h b/src/TortoiseMerge/BaseView.h index dd5c1e633..160e38e57 100644 --- a/src/TortoiseMerge/BaseView.h +++ b/src/TortoiseMerge/BaseView.h @@ -230,7 +230,7 @@ public: // variables void AddEmptyViewLine(int nLineIndex); #define SAVE_REMOVED 1 int SaveFile(int Flags = 0); - int SaveFileTo(CString FileName); + int SaveFileTo(CString FileName, int Flags = 0); CWorkingFile * m_pWorkingFile; ///< pointer to source/destination file parametrers diff --git a/src/TortoiseMerge/MainFrm.cpp b/src/TortoiseMerge/MainFrm.cpp index 1cf0492d6..acfbf75e5 100644 --- a/src/TortoiseMerge/MainFrm.cpp +++ b/src/TortoiseMerge/MainFrm.cpp @@ -1416,7 +1416,23 @@ bool CMainFrame::FileSave(bool bCheckResolved /*=true*/) void CMainFrame::OnFileSaveAs() { - FileSaveAs(); + { + // use 1.7 logic - only "target" can be saved + if (IsViewGood(m_pwndBottomView) || IsViewGood(m_pwndRightView)) + { + // 2, 3 panel view was handled + FileSaveAs(); + } + else if (IsViewGood(m_pwndLeftView)) + { + CString sFileName; + if (TryGetFileName(sFileName)) + { + m_pwndLeftView->SaveFileTo(sFileName); + } + } + return; + } } bool CMainFrame::FileSaveAs(bool bCheckResolved /*=true*/) -- 2.11.4.GIT