MCPcopy Create free account
hub / github.com/KDE/kdiff3 / Initialize

Method Initialize

diff_ext_for_kdiff3/diff_ext.cpp:89–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87}
88
89STDMETHODIMP
90DIFF_EXT::Initialize(LPCITEMIDLIST /*folder not used*/, IDataObject* data, HKEY /*key not used*/)
91{
92 LOG();
93
94 FORMATETC format = {CF_HDROP, nullptr, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
95 STGMEDIUM medium;
96 medium.tymed = TYMED_HGLOBAL;
97 HRESULT ret = E_INVALIDARG;
98
99 if(data->GetData(&format, &medium) == S_OK)
100 {
101 HDROP drop = (HDROP)medium.hGlobal;
102 m_nrOfSelectedFiles = DragQueryFile(drop, 0xFFFFFFFF, nullptr, 0);
103
104 TCHAR tmp[MAX_PATH];
105
106 if(m_nrOfSelectedFiles >= 1 && m_nrOfSelectedFiles <= 3)
107 {
108 DragQueryFile(drop, 0, tmp, MAX_PATH);
109 _file_name1 = tmp;
110
111 if(m_nrOfSelectedFiles >= 2)
112 {
113 DragQueryFile(drop, 1, tmp, MAX_PATH);
114 _file_name2 = tmp;
115 }
116
117 if(m_nrOfSelectedFiles == 3)
118 {
119 DragQueryFile(drop, 2, tmp, MAX_PATH);
120 _file_name3 = tmp;
121 }
122
123 ret = S_OK;
124 }
125 }
126 else
127 {
128 SYSERRORLOG(TEXT("GetData"));
129 }
130
131 return ret;
132}
133
134static int insertMenuItemHelper(HMENU menu, UINT id, UINT position, const tstring& text,
135 UINT fState = MFS_ENABLED, HMENU hSubMenu = nullptr)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected