Mercurial > hg > easyhg-kdiff3
annotate kdiff3/diff_ext_for_kdiff3/diff_ext.h @ 113:7bca1f1340f6 tip
Build fixes for Xcode 10 / Qt 5.12
author | Chris Cannam |
---|---|
date | Mon, 17 Dec 2018 11:13:01 +0000 |
parents | 1184fc843210 |
children |
rev | line source |
---|---|
joachim99@75 | 1 /* |
joachim99@75 | 2 * Copyright (c) 2003-2004, Sergey Zorin. All rights reserved. |
joachim99@75 | 3 * |
joachim99@75 | 4 * This software is distributable under the BSD license. See the terms |
joachim99@75 | 5 * of the BSD license in the LICENSE file provided with this software. |
joachim99@75 | 6 * |
joachim99@75 | 7 */ |
joachim99@75 | 8 |
joachim99@75 | 9 #ifndef __diff_ext_h__ |
joachim99@75 | 10 #define __diff_ext_h__ |
joachim99@75 | 11 |
joachim99@75 | 12 #include <windows.h> |
joachim99@75 | 13 #include <windowsx.h> |
joachim99@75 | 14 #include <shlobj.h> |
joachim99@75 | 15 |
joachim99@75 | 16 #include "server.h" |
joachim99@75 | 17 |
joachim99@75 | 18 |
joachim99@75 | 19 // this is the actual OLE Shell context menu handler |
joachim99@75 | 20 class DIFF_EXT : public IContextMenu, IShellExtInit { |
joachim99@75 | 21 public: |
joachim99@75 | 22 DIFF_EXT(); |
joachim99@75 | 23 virtual ~DIFF_EXT(); |
joachim99@75 | 24 |
joachim99@75 | 25 //IUnknown members |
joachim99@75 | 26 STDMETHODIMP QueryInterface(REFIID interface_id, void** result); |
joachim99@75 | 27 STDMETHODIMP_(ULONG) AddRef(); |
joachim99@75 | 28 STDMETHODIMP_(ULONG) Release(); |
joachim99@75 | 29 |
joachim99@75 | 30 //IShell members |
joachim99@75 | 31 STDMETHODIMP QueryContextMenu(HMENU menu, UINT index, UINT cmd_first, UINT cmd_last, UINT flags); |
joachim99@75 | 32 STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO info); |
joachim99@75 | 33 STDMETHODIMP GetCommandString(UINT cmd, UINT flags, UINT* reserved, LPSTR name, UINT name_length); |
joachim99@75 | 34 |
joachim99@75 | 35 //IShellExtInit methods |
joachim99@75 | 36 STDMETHODIMP Initialize(LPCITEMIDLIST folder, IDataObject* subj, HKEY key); |
joachim99@75 | 37 |
joachim99@75 | 38 private: |
joachim99@75 | 39 void diff( const tstring& arguments ); |
joachim99@75 | 40 void diff_with(unsigned int num, bool bMerge); |
joachim99@75 | 41 tstring cut_to_length(const tstring&, size_t length = 64); |
joachim99@75 | 42 void initialize_language(); |
joachim99@75 | 43 |
joachim99@75 | 44 private: |
joachim99@75 | 45 UINT m_nrOfSelectedFiles; |
joachim99@75 | 46 tstring _file_name1; |
joachim99@75 | 47 tstring _file_name2; |
joachim99@75 | 48 tstring _file_name3; |
joachim99@75 | 49 HINSTANCE _resource; |
joachim99@75 | 50 HWND _hwnd; |
joachim99@75 | 51 |
joachim99@75 | 52 ULONG _ref_count; |
joachim99@75 | 53 |
joachim99@75 | 54 std::list< tstring >& m_recentFiles; |
joachim99@75 | 55 UINT m_id_FirstCmd; |
joachim99@75 | 56 UINT m_id_Diff; |
joachim99@75 | 57 UINT m_id_DiffWith; |
joachim99@75 | 58 UINT m_id_DiffLater; |
joachim99@75 | 59 UINT m_id_MergeWith; |
joachim99@75 | 60 UINT m_id_Merge3; |
joachim99@75 | 61 UINT m_id_Diff3; |
joachim99@75 | 62 UINT m_id_DiffWith_Base; |
joachim99@75 | 63 UINT m_id_About; |
joachim99@77 | 64 UINT m_id_ClearList; |
joachim99@75 | 65 }; |
joachim99@75 | 66 |
joachim99@75 | 67 #endif // __diff_ext_h__ |