diff options
Diffstat (limited to 'CPP/7zip/UI/FileManager/OverwriteDialog.cpp')
-rw-r--r--[-rwxr-xr-x] | CPP/7zip/UI/FileManager/OverwriteDialog.cpp | 112 |
1 files changed, 47 insertions, 65 deletions
diff --git a/CPP/7zip/UI/FileManager/OverwriteDialog.cpp b/CPP/7zip/UI/FileManager/OverwriteDialog.cpp index 5f072daf..a657bc90 100755..100644 --- a/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +++ b/CPP/7zip/UI/FileManager/OverwriteDialog.cpp @@ -2,48 +2,44 @@ #include "StdAfx.h" -#include "Common/StringConvert.h" +#include "../../../Common/StringConvert.h" -#include "Windows/FileName.h" -#include "Windows/Defs.h" -#include "Windows/ResourceString.h" -#include "Windows/Control/Static.h" -#include "Windows/PropVariantConversions.h" +#include "../../../Windows/PropVariantConv.h" +#include "../../../Windows/ResourceString.h" + +#include "../../../Windows/Control/Static.h" #include "FormatUtils.h" +#include "LangUtils.h" #include "OverwriteDialog.h" -// #include "../resource.h" - -#ifdef LANG -#include "LangUtils.h" -#endif +#include "PropertyNameRes.h" using namespace NWindows; #ifdef LANG -static CIDLangPair kIDLangPairs[] = +static const UInt32 kLangIDs[] = { - { IDC_STATIC_OVERWRITE_HEADER, 0x02000901}, - { IDC_STATIC_OVERWRITE_QUESTION_BEGIN, 0x02000902 }, - { IDC_STATIC_OVERWRITE_QUESTION_END, 0x02000903 }, - { IDYES, 0x02000705 }, - { IDC_BUTTON_OVERWRITE_YES_TO_ALL, 0x02000707 }, - { IDNO, 0x02000709 }, - { IDC_BUTTON_OVERWRITE_NO_TO_ALL,0x0200070B }, - { IDC_BUTTON_OVERWRITE_AUTO_RENAME, 0x02000911 }, - { IDCANCEL, 0x02000711 } + IDT_OVERWRITE_HEADER, + IDT_OVERWRITE_QUESTION_BEGIN, + IDT_OVERWRITE_QUESTION_END, + IDB_YES_TO_ALL, + IDB_NO_TO_ALL, + IDB_AUTO_RENAME }; #endif -static const int kCurrentFileNameSizeLimit = 82; -static const int kCurrentFileNameSizeLimit2 = 30; +static const unsigned kCurrentFileNameSizeLimit = 82; +static const unsigned kCurrentFileNameSizeLimit2 = 30; void COverwriteDialog::ReduceString(UString &s) { - int size = _isBig ? kCurrentFileNameSizeLimit : kCurrentFileNameSizeLimit2; - if (s.Length() > size) - s = s.Left(size / 2) + UString(L" ... ") + s.Right(size / 2); + unsigned size = _isBig ? kCurrentFileNameSizeLimit : kCurrentFileNameSizeLimit2; + if (s.Len() > size) + { + s.Delete(size / 2, s.Len() - size); + s.Insert(size / 2, L" ... "); + } } void COverwriteDialog::SetFileInfoControl(int textID, int iconID, @@ -51,52 +47,38 @@ void COverwriteDialog::SetFileInfoControl(int textID, int iconID, { UString sizeString; if (fileInfo.SizeIsDefined) - sizeString = MyFormatNew(IDS_FILE_SIZE, - #ifdef LANG - 0x02000982, - #endif - NumberToString(fileInfo.Size)); + sizeString = MyFormatNew(IDS_FILE_SIZE, NumberToString(fileInfo.Size)); const UString &fileName = fileInfo.Name; int slashPos = fileName.ReverseFind(WCHAR_PATH_SEPARATOR); - UString s1, s2; - if (slashPos >= 0) - { - s1 = fileName.Left(slashPos + 1); - s2 = fileName.Mid(slashPos + 1); - } - else - s2 = fileName; + UString s1 = fileName.Left(slashPos + 1); + UString s2 = fileName.Ptr(slashPos + 1); + ReduceString(s1); ReduceString(s2); - UString fullString = s1 + L'\n' + s2; - fullString += L'\n'; - fullString += sizeString; - fullString += L'\n'; + UString s = s1; + s += L'\n'; + s += s2; + s += L'\n'; + s += sizeString; + s += L'\n'; if (fileInfo.TimeIsDefined) { - UString timeString; FILETIME localFileTime; if (!FileTimeToLocalFileTime(&fileInfo.Time, &localFileTime)) throw 4190402; - timeString = ConvertFileTimeToString(localFileTime); - - fullString += - #ifdef LANG - LangString(IDS_FILE_MODIFIED, 0x02000983); - #else - MyLoadStringW(IDS_FILE_MODIFIED); - #endif - - fullString += L" "; - fullString += timeString; + s += LangString(IDS_PROP_MTIME); + s += L": "; + wchar_t t[32]; + ConvertFileTimeToString(localFileTime, t); + s += t; } - NWindows::NControl::CDialogChildControl control; + NControl::CDialogChildControl control; control.Init(*this, textID); - control.SetText(fullString); + control.SetText(s); SHFILEINFO shellFileInfo; if (::SHGetFileInfo( @@ -112,24 +94,24 @@ void COverwriteDialog::SetFileInfoControl(int textID, int iconID, bool COverwriteDialog::OnInit() { #ifdef LANG - LangSetWindowText(HWND(*this), 0x02000900); - LangSetDlgItemsText(HWND(*this), kIDLangPairs, sizeof(kIDLangPairs) / sizeof(kIDLangPairs[0])); + LangSetWindowText(*this, IDD_OVERWRITE); + LangSetDlgItems(*this, kLangIDs, ARRAY_SIZE(kLangIDs)); #endif - SetFileInfoControl(IDC_STATIC_OVERWRITE_OLD_FILE_SIZE_TIME, IDC_STATIC_OVERWRITE_OLD_FILE_ICON, OldFileInfo); - SetFileInfoControl(IDC_STATIC_OVERWRITE_NEW_FILE_SIZE_TIME, IDC_STATIC_OVERWRITE_NEW_FILE_ICON, NewFileInfo); + SetFileInfoControl(IDT_OVERWRITE_OLD_FILE_SIZE_TIME, IDI_OVERWRITE_OLD_FILE, OldFileInfo); + SetFileInfoControl(IDT_OVERWRITE_NEW_FILE_SIZE_TIME, IDI_OVERWRITE_NEW_FILE, NewFileInfo); NormalizePosition(); return CModalDialog::OnInit(); } bool COverwriteDialog::OnButtonClicked(int buttonID, HWND buttonHWND) { - switch(buttonID) + switch (buttonID) { case IDYES: - case IDC_BUTTON_OVERWRITE_YES_TO_ALL: case IDNO: - case IDC_BUTTON_OVERWRITE_NO_TO_ALL: - case IDC_BUTTON_OVERWRITE_AUTO_RENAME: + case IDB_YES_TO_ALL: + case IDB_NO_TO_ALL: + case IDB_AUTO_RENAME: End(buttonID); return true; } |