Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/UI/FileManager/OverwriteDialog.cpp')
-rw-r--r--[-rwxr-xr-x]CPP/7zip/UI/FileManager/OverwriteDialog.cpp112
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;
}