mirror of
https://github.com/Xevion/easy7zip.git
synced 2026-02-01 10:24:11 -06:00
4.54 beta
This commit is contained in:
committed by
Kornel Lesiński
parent
051769bbc5
commit
b82f80647d
@@ -4,6 +4,7 @@
|
||||
#include "Windows/Menu.h"
|
||||
#include "Windows/COM.h"
|
||||
#include "Windows/PropVariant.h"
|
||||
#include "Windows/Clipboard.h"
|
||||
#include "../Common/PropIDUtils.h"
|
||||
#include "../../PropID.h"
|
||||
|
||||
@@ -27,6 +28,7 @@ static const UINT kSystemStartMenuID = kPluginMenuStartID + 100;
|
||||
|
||||
void CPanel::InvokeSystemCommand(const char *command)
|
||||
{
|
||||
NCOM::CComInitializer comInitializer;
|
||||
if (!IsFSFolder() && !IsFSDrivesFolder())
|
||||
return;
|
||||
CRecordVector<UInt32> operatedIndices;
|
||||
@@ -181,18 +183,51 @@ void CPanel::Properties()
|
||||
}
|
||||
}
|
||||
|
||||
// Copy and paste do not work, if you know why write me.
|
||||
void CPanel::EditCut()
|
||||
{
|
||||
// InvokeSystemCommand("cut");
|
||||
}
|
||||
|
||||
void CPanel::EditCopy()
|
||||
{
|
||||
NCOM::CComInitializer comInitializer;
|
||||
InvokeSystemCommand("copy");
|
||||
/*
|
||||
CMyComPtr<IGetFolderArchiveProperties> getFolderArchiveProperties;
|
||||
_folder.QueryInterface(IID_IGetFolderArchiveProperties, &getFolderArchiveProperties);
|
||||
if (!getFolderArchiveProperties)
|
||||
{
|
||||
InvokeSystemCommand("copy");
|
||||
return;
|
||||
}
|
||||
*/
|
||||
UString s;
|
||||
CRecordVector<UInt32> indices;
|
||||
GetSelectedItemsIndices(indices);
|
||||
for (int i = 0; i < indices.Size(); i++)
|
||||
{
|
||||
if (i > 0)
|
||||
s += L"\xD\n";
|
||||
s += GetItemName(indices[i]);
|
||||
}
|
||||
ClipboardSetText(_mainWindow, s);
|
||||
}
|
||||
|
||||
void CPanel::EditPaste()
|
||||
{
|
||||
NCOM::CComInitializer comInitializer;
|
||||
InvokeSystemCommand("paste");
|
||||
/*
|
||||
UStringVector names;
|
||||
ClipboardGetFileNames(names);
|
||||
CopyFromNoAsk(names);
|
||||
UString s;
|
||||
for (int i = 0; i < names.Size(); i++)
|
||||
{
|
||||
s += L" ";
|
||||
s += names[i];
|
||||
}
|
||||
|
||||
MessageBoxW(0, s, L"", 0);
|
||||
*/
|
||||
|
||||
// InvokeSystemCommand("paste");
|
||||
}
|
||||
|
||||
HRESULT CPanel::CreateShellContextMenu(
|
||||
|
||||
Reference in New Issue
Block a user