OSDN Git Service

ShellExtension: As with WinMergeU.exe, do not embed translation strings in ShellExten...
[winmerge-jp/winmerge-jp.git] / ShellExtension / WinMergeShell.h
index a3c2615..e70b250 100644 (file)
@@ -32,6 +32,7 @@
 #include <atlconv.h>   // for ATL string conversion macros
 #include "resource.h"   // main symbols
 #include "UnicodeString.h"
+#include "LanguageSelect.h"
 
 /**
  * @brief Class for handling shell extension tasks
@@ -61,19 +62,24 @@ public:
 // IWinMergeShell
 protected:
        String m_strPaths[3]; /**< Paths for selected items */
-       String m_strPreviousPath; /**< Previously selected path */
+       String m_strPreviousPath[2]; /**< Previously selected path */
        HBITMAP m_MergeBmp, m_MergeDirBmp; /**< Icon */
        UINT m_nSelectedItems; /**< Amount of selected items */
        DWORD m_dwContextMenuEnabled; /**< Is context menu enabled and in which mode? */
        DWORD m_dwMenuState; /**< Shown menuitems */
+       LANGID m_langID; /**< Current Language Id */
+       inline static HMENU s_hMenuLastAdded = nullptr;
+       inline static UINT s_uidCmdLastAdded = 0;
+       inline static CLanguageSelect *s_pLang = nullptr;
 
        BOOL GetWinMergeDir(String &strDir);
-       BOOL CheckExecutable(String path);
        int DrawSimpleMenu(HMENU hmenu, UINT uMenuIndex, UINT uidFirstCmd);
        int DrawAdvancedMenu(HMENU hmenu, UINT uMenuIndex, UINT uidFirstCmd);
        String GetHelpText(UINT_PTR idCmd);
        String FormatCmdLine(const String &winmergePath,
-                       const String &path1, const String &path2, BOOL bAlterSubFolders);
+                       const String &path1, const String &path2, const String &path3, BOOL bAlterSubFolders);
+       String GetResourceString(UINT resourceID);
+       BOOL InsertMenuString(HMENU hMenu, UINT uPosition, UINT uIDNewItem, UINT uStringId);
 
 public:
        // IShellExtInit