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

Method InvokeCommand

diff_ext_for_kdiff3/diff_ext.cpp:264–341  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

262}
263
264STDMETHODIMP
265DIFF_EXT::InvokeCommand(LPCMINVOKECOMMANDINFO ici)
266{
267 HRESULT ret = NOERROR;
268
269 _hwnd = ici->hwnd;
270
271 if(HIWORD(ici->lpVerb) == 0)
272 {
273 UINT id = m_id_FirstCmd + LOWORD(ici->lpVerb);
274 if(id == m_id_Diff)
275 {
276 LOG();
277 diff(TEXT("\"") + _file_name1 + TEXT("\" \"") + _file_name2 + TEXT("\""));
278 }
279 else if(id == m_id_Diff3)
280 {
281 LOG();
282 diff(TEXT("\"") + _file_name1 + TEXT("\" \"") + _file_name2 + TEXT("\" \"") + _file_name3 + TEXT("\""));
283 }
284 else if(id == m_id_Merge3)
285 {
286 LOG();
287 std::list<tstring>::iterator iFrom = m_recentFiles.begin();
288 std::list<tstring>::iterator iBase = iFrom;
289 ++iBase;
290 diff(TEXT("-m \"") + *iBase + TEXT("\" \"") + *iFrom + TEXT("\" \"") + _file_name1 + TEXT("\""));
291 }
292 else if(id == m_id_DiffWith)
293 {
294 LOG();
295 diff_with(0, false);
296 }
297 else if(id == m_id_MergeWith)
298 {
299 LOG();
300 diff_with(0, true);
301 }
302 else if(id == m_id_ClearList)
303 {
304 LOG();
305 m_recentFiles.clear();
306 SERVER::instance()->save_history();
307 }
308 else if(id == m_id_DiffLater)
309 {
310 MESSAGELOG(TEXT("Diff Later: ") + _file_name1);
311 m_recentFiles.remove(_file_name1);
312 m_recentFiles.push_front(_file_name1);
313 SERVER::instance()->save_history();
314 }
315 else if(id >= m_id_DiffWith_Base && id < m_id_DiffWith_Base + m_recentFiles.size())
316 {
317 LOG();
318 diff_with(id - m_id_DiffWith_Base, false);
319 }
320 else if(id == m_id_About)
321 {

Callers

nothing calls this directly

Calls 4

save_historyMethod · 0.80
push_frontMethod · 0.80
clearMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected