diff options
-rw-r--r-- | commonheaders.h | 2 | ||||
-rw-r--r-- | init.cpp | 2 | ||||
-rw-r--r-- | lib/gpgme.exp | bin | 21999 -> 0 bytes | |||
-rw-r--r-- | lib/gpgme.lib | bin | 36792 -> 0 bytes | |||
-rw-r--r-- | lib/libgcrypt-11.def (renamed from lib/libgcrypt.def) | 0 | ||||
-rw-r--r-- | lib/libgcrypt-11.exp (renamed from lib/libgcrypt.exp) | bin | 25211 -> 25231 bytes | |||
-rw-r--r-- | lib/libgcrypt-11.lib | bin | 0 -> 43498 bytes | |||
-rw-r--r-- | lib/libgcrypt.lib | bin | 42814 -> 0 bytes | |||
-rw-r--r-- | lib/libgpgme-11.def (renamed from lib/gpgme.def) | 0 | ||||
-rw-r--r-- | lib/libgpgme-11.exp | bin | 0 -> 22028 bytes | |||
-rw-r--r-- | lib/libgpgme-11.lib | bin | 1572 -> 37776 bytes | |||
-rw-r--r-- | lib/libksba-8.def (renamed from lib/libksba.def) | 0 | ||||
-rw-r--r-- | lib/libksba-8.exp (renamed from lib/libksba.exp) | bin | 20908 -> 20921 bytes | |||
-rw-r--r-- | lib/libksba-8.lib | bin | 0 -> 35626 bytes | |||
-rw-r--r-- | lib/libksba.lib | bin | 35314 -> 0 bytes | |||
-rw-r--r-- | main.cpp | 13 | ||||
-rw-r--r-- | new_gpg.rc | 20 | ||||
-rw-r--r-- | new_gpg.vcproj | 10 | ||||
-rw-r--r-- | new_gpg.vcproj.EVIL2.sss.user | 2 | ||||
-rw-r--r-- | options.cpp | 61 | ||||
-rw-r--r-- | resource.h | 8 | ||||
-rw-r--r-- | utilities.cpp | 25 | ||||
-rw-r--r-- | utilities.h | 1 |
23 files changed, 139 insertions, 5 deletions
diff --git a/commonheaders.h b/commonheaders.h index ec7221b..6986e13 100644 --- a/commonheaders.h +++ b/commonheaders.h @@ -16,6 +16,7 @@ #ifndef COMMONHEADERS_H #define COMMONHEADERS_H #include <windows.h> +#include <locale.h> #define MIRANDA_VER 0x0801 @@ -25,6 +26,7 @@ #include <m_langpack.h> #include "resource.h" +#include "gpgme.h" #include "constants.h" #include "utilities.h" #include "globals.h" @@ -77,10 +77,12 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) } int GpgOptInit(WPARAM wParam,LPARAM lParam); +int gpg_init(); static int OnModulesLoaded(WPARAM wParam,LPARAM lParam) { HookEvent(ME_OPT_INITIALISE, GpgOptInit); + gpg_init(); return 0; } diff --git a/lib/gpgme.exp b/lib/gpgme.exp Binary files differdeleted file mode 100644 index 07b103b..0000000 --- a/lib/gpgme.exp +++ /dev/null diff --git a/lib/gpgme.lib b/lib/gpgme.lib Binary files differdeleted file mode 100644 index 2f833c0..0000000 --- a/lib/gpgme.lib +++ /dev/null diff --git a/lib/libgcrypt.def b/lib/libgcrypt-11.def index 8fc4d32..8fc4d32 100644 --- a/lib/libgcrypt.def +++ b/lib/libgcrypt-11.def diff --git a/lib/libgcrypt.exp b/lib/libgcrypt-11.exp Binary files differindex a74710b..8fcfc83 100644 --- a/lib/libgcrypt.exp +++ b/lib/libgcrypt-11.exp diff --git a/lib/libgcrypt-11.lib b/lib/libgcrypt-11.lib Binary files differnew file mode 100644 index 0000000..d527033 --- /dev/null +++ b/lib/libgcrypt-11.lib diff --git a/lib/libgcrypt.lib b/lib/libgcrypt.lib Binary files differdeleted file mode 100644 index 3cd34a9..0000000 --- a/lib/libgcrypt.lib +++ /dev/null diff --git a/lib/gpgme.def b/lib/libgpgme-11.def index 1a685ff..1a685ff 100644 --- a/lib/gpgme.def +++ b/lib/libgpgme-11.def diff --git a/lib/libgpgme-11.exp b/lib/libgpgme-11.exp Binary files differnew file mode 100644 index 0000000..0ed3fd2 --- /dev/null +++ b/lib/libgpgme-11.exp diff --git a/lib/libgpgme-11.lib b/lib/libgpgme-11.lib Binary files differindex 8ec4a86..cfd1c15 100644 --- a/lib/libgpgme-11.lib +++ b/lib/libgpgme-11.lib diff --git a/lib/libksba.def b/lib/libksba-8.def index 5cb20f3..5cb20f3 100644 --- a/lib/libksba.def +++ b/lib/libksba-8.def diff --git a/lib/libksba.exp b/lib/libksba-8.exp Binary files differindex bb332a6..b1e2925 100644 --- a/lib/libksba.exp +++ b/lib/libksba-8.exp diff --git a/lib/libksba-8.lib b/lib/libksba-8.lib Binary files differnew file mode 100644 index 0000000..f9a74a5 --- /dev/null +++ b/lib/libksba-8.lib diff --git a/lib/libksba.lib b/lib/libksba.lib Binary files differdeleted file mode 100644 index f1eedca..0000000 --- a/lib/libksba.lib +++ /dev/null @@ -19,3 +19,16 @@ #include "commonheaders.h" +int gpg_init() +{ + setlocale (LC_ALL, ""); + gpgme_check_version (NULL); + gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
+#ifdef LC_MESSAGES
+ gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
+#endif + gpgme_protocol_t proto = GPGME_PROTOCOL_UNKNOWN; + gpgme_ctx_t ctx; + gpgme_new(&ctx); + return 0; +} @@ -70,6 +70,18 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN
END
+IDD_OPT_GPG_BIN DIALOGEX 0, 0, 268, 214
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
+FONT 8, "MS Shell Dlg", 400, 0, 0x0
+BEGIN
+ PUSHBUTTON "Browse",IDC_SET_BIN_PATH,116,18,38,14
+ PUSHBUTTON "Browse",IDC_SET_HOME_DIR,116,44,38,14
+ EDITTEXT IDC_BIN_PATH,7,17,95,14,ES_AUTOHSCROLL
+ EDITTEXT IDC_HOME_DIR,7,44,95,14,ES_AUTOHSCROLL
+ LTEXT "GnuPG2 binary:",IDC_STATIC,10,7,147,8
+ LTEXT "Home directory:",IDC_STATIC,9,34,144,8
+END
+
/////////////////////////////////////////////////////////////////////////////
//
@@ -86,6 +98,14 @@ BEGIN TOPMARGIN, 7
BOTTOMMARGIN, 207
END
+
+ IDD_OPT_GPG_BIN, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 261
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 207
+ END
END
#endif // APSTUDIO_INVOKED
diff --git a/new_gpg.vcproj b/new_gpg.vcproj index dbaf111..740f92f 100644 --- a/new_gpg.vcproj +++ b/new_gpg.vcproj @@ -53,7 +53,7 @@ FavorSizeOrSpeed="2"
OmitFramePointers="true"
WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""X:\install\git\miranda\miranda-im\miranda\include";../../include"
+ AdditionalIncludeDirectories="X:\install\git\miranda\mim_plugs;"X:\install\git\miranda\miranda-im\miranda\include";../../include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_UNICODE"
StringPooling="true"
RuntimeLibrary="2"
@@ -80,8 +80,10 @@ />
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libgpgme-11.lib libgcrypt-11.lib libksba-8.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="X:\install\git\miranda\mim_plugs\lib"
GenerateDebugInformation="true"
OptimizeReferences="2"
EnableCOMDATFolding="2"
@@ -149,8 +151,8 @@ <Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TESTPLUG_EXPORTS;_CRT_SECURE_NO_WARNINGS;_UNICODE"
+ AdditionalIncludeDirectories=""X:\install\git\miranda\miranda-im\miranda\include";X:\install\git\miranda\mim_plugs;../../include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TESTPLUG_EXPORTS;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -176,8 +178,10 @@ />
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libgcrypt-11.lib libgpgme-11.lib libksba-8.lib"
LinkIncremental="2"
SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="X:\install\git\miranda\mim_plugs\lib"
GenerateDebugInformation="true"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
diff --git a/new_gpg.vcproj.EVIL2.sss.user b/new_gpg.vcproj.EVIL2.sss.user index d47f5af..87ef3a3 100644 --- a/new_gpg.vcproj.EVIL2.sss.user +++ b/new_gpg.vcproj.EVIL2.sss.user @@ -9,7 +9,7 @@ Name="Release Unicode|Win32"
>
<DebugSettings
- Command=""
+ Command="C:\Program Files\mir\miranda32.exe"
WorkingDirectory=""
CommandArguments=""
Attach="false"
diff --git a/options.cpp b/options.cpp index 69b9938..6d223ee 100644 --- a/options.cpp +++ b/options.cpp @@ -20,6 +20,7 @@ extern HINSTANCE hInst; static BOOL CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); int GpgOptInit(WPARAM wParam,LPARAM lParam) { @@ -33,6 +34,19 @@ int GpgOptInit(WPARAM wParam,LPARAM lParam) odp.flags=ODPF_BOLDGROUPS; odp.pfnDlgProc = DlgProcGpgOpts; CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp); + + ZeroMemory(&odp, sizeof(odp)); + + odp.cbSize = sizeof(odp); + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_GPG_BIN); + odp.pszTitle = szModuleName; + odp.pszGroup = "Services"; + odp.pszTab = "GnuPG Variables"; + odp.flags=ODPF_BOLDGROUPS; + odp.pfnDlgProc = DlgProcGpgBinOpts; + CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp); + return 0; } @@ -78,4 +92,51 @@ static BOOL CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA } +static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) + { + case WM_INITDIALOG: + { + TranslateDialogDefault(hwndDlg); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, UniGetContactSettingUtf(NULL, szModuleName, "szGpgBinPath", _T("gpg2.exe"))); + return TRUE; + } + + + case WM_COMMAND: + { + switch (LOWORD(wParam)) + { + case IDC_SET_BIN_PATH: + GetFilePath(_T("Choose gpg2.exe"), "szGpgBinPath", _T("*.exe"), _T("EXE Executables")); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, UniGetContactSettingUtf(NULL, szModuleName, "szGpgBinPath", _T("gpg2.exe"))); + break; + default: + break; + } + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + } + + case WM_NOTIFY: + { + switch (((LPNMHDR)lParam)->code) + { + + case PSN_APPLY: + { + TCHAR tmp[512]; + GetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp, 512); + DBWriteContactSettingTString(NULL, szModuleName, "szGpgBinPath", tmp); + return TRUE; + } + } + } + break; + } + + return FALSE; +} @@ -3,6 +3,12 @@ // Used by new_gpg.rc
//
#define IDD_OPT_GPG 104
+#define IDD_OPT_GPG_BIN 105
+#define IDC_SET_BIN_PATH 1016
+#define IDC_BUTTON2 1017
+#define IDC_SET_HOME_DIR 1017
+#define IDC_BIN_PATH 1018
+#define IDC_HOME_DIR 1019
// Next default values for new objects
//
@@ -10,7 +16,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1016
+#define _APS_NEXT_CONTROL_VALUE 1020
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/utilities.cpp b/utilities.cpp index 5b4ac3a..f8ea696 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -76,3 +76,28 @@ char *date() d[9]=tmp[5]; return d; } + +void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szExtDesc) +{ + TCHAR str[MAX_PATH+2] = {0}; + OPENFILENAME ofn={0}; + TCHAR filter[512], *pfilter; + ofn.lStructSize=CDSIZEOF_STRUCT(OPENFILENAME,lpTemplateName); + ofn.Flags=OFN_EXPLORER; + ofn.lpstrTitle=TranslateW(WindowTittle); + _tcscpy(filter,TranslateW(szExtDesc)); + pfilter=filter+_tcslen(filter)+1; + _tcscpy(pfilter, szExt); + pfilter[_tcslen(pfilter)+1] = '\0'; + pfilter[_tcslen(pfilter)+2] = '\0'; + ofn.lpstrFilter=filter; + _tcscpy(str, UniGetContactSettingUtf(0, szModuleName, szSetting, _T(""))); + if(_tcslen(str)< 2) + str[0] = '\0'; + ofn.lpstrFile=str; + ofn.nMaxFile=_MAX_PATH; + ofn.nMaxFileTitle=MAX_PATH; + if(!GetOpenFileName(&ofn)) + return; + DBWriteContactSettingTString(0, szModuleName, szSetting, str); +} diff --git a/utilities.h b/utilities.h index 923803f..e3622dd 100644 --- a/utilities.h +++ b/utilities.h @@ -17,5 +17,6 @@ #ifndef UTILITIES_H #define UTILITIES_H TCHAR* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,const char* szSetting, TCHAR* szDef); +void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szExtDesc); #endif |