diff options
Diffstat (limited to 'src/libs/7zip/unix/CPP/Windows/Clipboard.cpp')
-rw-r--r-- | src/libs/7zip/unix/CPP/Windows/Clipboard.cpp | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/src/libs/7zip/unix/CPP/Windows/Clipboard.cpp b/src/libs/7zip/unix/CPP/Windows/Clipboard.cpp deleted file mode 100644 index bb081e153..000000000 --- a/src/libs/7zip/unix/CPP/Windows/Clipboard.cpp +++ /dev/null @@ -1,160 +0,0 @@ -// Windows/Clipboard.cpp - -#include "StdAfx.h" - - -#include "Windows/Clipboard.h" -#include "Windows/Defs.h" -#ifdef _WIN32 -#include "Windows/Memory.h" -#include "Windows/Shell.h" -#include "Windows/Memory.h" -#else -#include <wx/clipbrd.h> -#include <wx/dataobj.h> -#undef _WIN32 -#endif - -#include "Common/StringConvert.h" - -namespace NWindows { - -bool CClipboard::Open(HWND wndNewOwner) -{ -#ifdef _WIN32 - m_Open = BOOLToBool(::OpenClipboard(wndNewOwner)); -#else - m_Open = wxTheClipboard->Open(); -#endif - return m_Open; -} - -CClipboard::~CClipboard() -{ - Close(); -} - -bool CClipboard::Close() -{ - if (!m_Open) - return true; -#ifdef _WIN32 - m_Open = !BOOLToBool(CloseClipboard()); -#else - wxTheClipboard->Close(); - m_Open = false; -#endif - return !m_Open; -} - -#ifdef _WIN32 -bool ClipboardIsFormatAvailableHDROP() -{ - return BOOLToBool(IsClipboardFormatAvailable(CF_HDROP)); -} -#endif - -/* -bool ClipboardGetTextString(AString &s) -{ - s.Empty(); - if (!IsClipboardFormatAvailable(CF_TEXT)) - return false; - CClipboard clipboard; - - if (!clipboard.Open(NULL)) - return false; - - HGLOBAL h = ::GetClipboardData(CF_TEXT); - if (h != NULL) - { - NMemory::CGlobalLock globalLock(h); - const char *p = (const char *)globalLock.GetPointer(); - if (p != NULL) - { - s = p; - return true; - } - } - return false; -} -*/ - -/* -bool ClipboardGetFileNames(UStringVector &names) -{ - names.Clear(); - if (!IsClipboardFormatAvailable(CF_HDROP)) - return false; - CClipboard clipboard; - - if (!clipboard.Open(NULL)) - return false; - - HGLOBAL h = ::GetClipboardData(CF_HDROP); - if (h != NULL) - { - NMemory::CGlobalLock globalLock(h); - void *p = (void *)globalLock.GetPointer(); - if (p != NULL) - { - NShell::CDrop drop(false); - drop.Attach((HDROP)p); - drop.QueryFileNames(names); - return true; - } - } - return false; -} -*/ - -#ifdef _WIN32 -static bool ClipboardSetData(UINT uFormat, const void *data, size_t size) -{ - NMemory::CGlobal global; - if (!global.Alloc(GMEM_DDESHARE | GMEM_MOVEABLE, size)) - return false; - { - NMemory::CGlobalLock globalLock(global); - LPVOID p = globalLock.GetPointer(); - if (p == NULL) - return false; - memcpy(p, data, size); - } - if (::SetClipboardData(uFormat, global) == NULL) - return false; - global.Detach(); - return true; -} -#endif - -bool ClipboardSetText(HWND owner, const UString &s) -{ - CClipboard clipboard; - if (!clipboard.Open(owner)) - return false; -#ifdef _WIN32 - if (!::EmptyClipboard()) - return false; - - bool res; - res = ClipboardSetData(CF_UNICODETEXT, (const wchar_t *)s, (s.Length() + 1) * sizeof(wchar_t)); - #ifndef _UNICODE - AString a; - a = UnicodeStringToMultiByte(s, CP_ACP); - res |= ClipboardSetData(CF_TEXT, (const char *)a, (a.Length() + 1) * sizeof(char)); - a = UnicodeStringToMultiByte(s, CP_OEMCP); - res |= ClipboardSetData(CF_OEMTEXT, (const char *)a, (a.Length() + 1) * sizeof(char)); - #endif - return res; -#else - wxTheClipboard->Clear(); - // This data objects are held by the clipboard, - // so do not delete them in the app. - wxString ws(s); - wxTheClipboard->SetData( new wxTextDataObject(ws) ); - return true; -#endif -} - -} |