From 0583b273c6f1467291c99c6a98546eb9e50c1799 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Tue, 20 Nov 2018 08:59:11 +0100 Subject: [PATCH] Show error message if saving failed Signed-off-by: Sven Strickroth --- Languages/Tortoise.pot | 5 +++++ src/TortoiseUDiff/MainWindow.cpp | 9 ++++++++- src/TortoiseUDiff/TortoiseUDiff.rc | 1 + src/TortoiseUDiff/resource.h | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Languages/Tortoise.pot b/Languages/Tortoise.pot index 693630b79..4db87ef61 100644 --- a/Languages/Tortoise.pot +++ b/Languages/Tortoise.pot @@ -4251,6 +4251,11 @@ msgstr "" msgid "Failed to save document." msgstr "" +#. Resource IDs: (IDS_ERRORSAVE) +#, c-format +msgid "Failed to save file \"%s\":\n%s" +msgstr "" + #. Resource IDs: (IDS_SVNACTION_CHANGELISTFAILED) #, c-format msgid "Failed to set/remove changelist '%s'" diff --git a/src/TortoiseUDiff/MainWindow.cpp b/src/TortoiseUDiff/MainWindow.cpp index b6d9d4f5b..a41048efa 100644 --- a/src/TortoiseUDiff/MainWindow.cpp +++ b/src/TortoiseUDiff/MainWindow.cpp @@ -1,4 +1,4 @@ -// TortoiseGit - a Windows shell extension for easy version control +// TortoiseGit - a Windows shell extension for easy version control // Copyright (C) 2012-2018 - TortoiseGit // Copyright (C) 2003-2014 - TortoiseSVN @@ -725,7 +725,14 @@ bool CMainWindow::SaveFile(LPCTSTR filename) FILE* fp = nullptr; _wfopen_s(&fp, filename, L"w+b"); if (!fp) + { + TCHAR fmt[1024] = { 0 }; + LoadString(::hResource, IDS_ERRORSAVE, fmt, _countof(fmt)); + TCHAR error[1024] = { 0 }; + _snwprintf_s(error, _countof(error), fmt, filename, (LPCTSTR)CFormatMessageWrapper()); + MessageBox(*this, error, L"TortoiseGitUDiff", MB_OK); return false; + } auto len = (int)SendEditor(SCI_GETTEXT, 0, 0); auto data = std::make_unique(len + 1); diff --git a/src/TortoiseUDiff/TortoiseUDiff.rc b/src/TortoiseUDiff/TortoiseUDiff.rc index 8b657ce28..cebb11b45 100644 --- a/src/TortoiseUDiff/TortoiseUDiff.rc +++ b/src/TortoiseUDiff/TortoiseUDiff.rc @@ -145,6 +145,7 @@ BEGIN IDS_SAVEPATCH "Save patch file" IDS_PIPETITLE "diff from pipe" IDC_TORTOISEUDIFF "TORTOISEGITUDIFF" + IDS_ERRORSAVE "Failed to save file ""%s"":\n%s" END #endif // Englisch (USA) resources diff --git a/src/TortoiseUDiff/resource.h b/src/TortoiseUDiff/resource.h index cba1f79ff..b4978f385 100644 --- a/src/TortoiseUDiff/resource.h +++ b/src/TortoiseUDiff/resource.h @@ -10,6 +10,7 @@ #define IDS_SAVEPATCH 107 #define IDS_PIPETITLE 108 #define IDC_TORTOISEUDIFF 109 +#define IDS_ERRORSAVE 110 #define IDI_CANCELNORMAL 132 #define IDD_FINDBAR 144 #define IDC_FINDNEXT 1014 -- 2.11.4.GIT