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/MyLoadMenu.cpp')
-rwxr-xr-xCPP/7zip/UI/FileManager/MyLoadMenu.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/CPP/7zip/UI/FileManager/MyLoadMenu.cpp b/CPP/7zip/UI/FileManager/MyLoadMenu.cpp
index 4ad152b1..c6f57f9e 100755
--- a/CPP/7zip/UI/FileManager/MyLoadMenu.cpp
+++ b/CPP/7zip/UI/FileManager/MyLoadMenu.cpp
@@ -41,7 +41,7 @@ struct CStringLangPair
UINT32 LangID;
};
-static CStringLangPair kStringLangPairs[] =
+static CStringLangPair kStringLangPairs[] =
{
{ L"&File", 0x03000102 },
{ L"&Edit", 0x03000103 },
@@ -57,7 +57,7 @@ UINT32 kToolbarsLangID = 0x03000451;
/*
static int FindStringLangItem(const UString &anItem)
{
- for (int i = 0; i < sizeof(kStringLangPairs) /
+ for (int i = 0; i < sizeof(kStringLangPairs) /
sizeof(kStringLangPairs[0]); i++)
if (anItem.CompareNoCase(kStringLangPairs[i].String) == 0)
return i;
@@ -65,7 +65,7 @@ static int FindStringLangItem(const UString &anItem)
}
*/
-static CIDLangPair kIDLangPairs[] =
+static CIDLangPair kIDLangPairs[] =
{
// File
{ IDM_FILE_OPEN, 0x03000210 },
@@ -151,9 +151,9 @@ public:
g_IsNew_fMask = false;
OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof(vi);
- if (::GetVersionEx(&vi))
+ if (::GetVersionEx(&vi))
{
- g_IsNew_fMask = (vi.dwMajorVersion > 4 ||
+ g_IsNew_fMask = (vi.dwMajorVersion > 4 ||
(vi.dwMajorVersion == 4 && vi.dwMinorVersion > 0));
}
g_IsNew_fMask = false;
@@ -217,7 +217,7 @@ static void MyChangeMenu(HMENU menuLoc, int level, int menuIndex)
}
else
{
- if (level == 0 && i < sizeof(kStringLangPairs) /
+ if (level == 0 && i < sizeof(kStringLangPairs) /
sizeof(kStringLangPairs[0]))
newString = LangString(kStringLangPairs[i].LangID);
else
@@ -339,7 +339,7 @@ void OnMenuActivating(HWND /* hWnd */, HMENU hMenu, int position)
// View;
CMenu menu;
menu.Attach(hMenu);
- menu.CheckRadioItem(IDM_VIEW_LARGE_ICONS, IDM_VIEW_DETAILS,
+ menu.CheckRadioItem(IDM_VIEW_LARGE_ICONS, IDM_VIEW_DETAILS,
IDM_VIEW_LARGE_ICONS + g_App.GetListViewMode(), MF_BYCOMMAND);
menu.CheckItem(IDM_VIEW_TWO_PANELS, MF_BYCOMMAND |
((g_App.NumPanels == 2) ? MF_CHECKED : MF_UNCHECKED));
@@ -413,7 +413,8 @@ void OnMenuUnActivating(HWND hWnd)
*/
-void LoadFileMenu(HMENU hMenu, int startPos, bool /* forFileMode */, bool programMenu)
+void LoadFileMenu(HMENU hMenu, int startPos, bool programMenu,
+ bool isFsFolder, int numItems, bool allAreFiles)
{
{
CMenu srcMenu;
@@ -439,6 +440,10 @@ void LoadFileMenu(HMENU hMenu, int startPos, bool /* forFileMode */, bool progra
if (!programMenu)
if (item.wID == IDCLOSE)
continue;
+ bool isOneFsFile = (isFsFolder && numItems == 1 && allAreFiles);
+ if ((item.wID == IDM_FILE_SPLIT || item.wID == IDM_FILE_COMBINE) && !isOneFsFile)
+ item.fState |= MFS_DISABLED;
+
/*
bool createItem = (item.wID == IDM_CREATE_FOLDER || item.wID == IDM_CREATE_FILE);
if (forFileMode)
@@ -538,7 +543,7 @@ bool ExecuteFileCommand(int id)
break;
default:
return false;
- }
+ }
return true;
}
@@ -607,7 +612,7 @@ bool OnMenuCommand(HWND hWnd, int id)
/*
CMenu menu;
menu.Attach(::GetSubMenu(::GetMenu(hWnd), kViewMenuIndex));
- menu.CheckRadioItem(IDM_VIEW_LARGE_ICONS, IDM_VIEW_DETAILS,
+ menu.CheckRadioItem(IDM_VIEW_LARGE_ICONS, IDM_VIEW_DETAILS,
id, MF_BYCOMMAND);
*/
}
@@ -625,7 +630,7 @@ bool OnMenuCommand(HWND hWnd, int id)
}
case IDM_VIEW_ARANGE_BY_DATE:
{
- g_App.SortItemsWithPropID(kpidLastWriteTime);
+ g_App.SortItemsWithPropID(kpidMTime);
break;
}
case IDM_VIEW_ARANGE_BY_SIZE: