summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--commonheaders.h2
-rw-r--r--init.cpp2
-rw-r--r--lib/gpgme.expbin21999 -> 0 bytes
-rw-r--r--lib/gpgme.libbin36792 -> 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)bin25211 -> 25231 bytes
-rw-r--r--lib/libgcrypt-11.libbin0 -> 43498 bytes
-rw-r--r--lib/libgcrypt.libbin42814 -> 0 bytes
-rw-r--r--lib/libgpgme-11.def (renamed from lib/gpgme.def)0
-rw-r--r--lib/libgpgme-11.expbin0 -> 22028 bytes
-rw-r--r--lib/libgpgme-11.libbin1572 -> 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)bin20908 -> 20921 bytes
-rw-r--r--lib/libksba-8.libbin0 -> 35626 bytes
-rw-r--r--lib/libksba.libbin35314 -> 0 bytes
-rw-r--r--main.cpp13
-rw-r--r--new_gpg.rc20
-rw-r--r--new_gpg.vcproj10
-rw-r--r--new_gpg.vcproj.EVIL2.sss.user2
-rw-r--r--options.cpp61
-rw-r--r--resource.h8
-rw-r--r--utilities.cpp25
-rw-r--r--utilities.h1
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"
diff --git a/init.cpp b/init.cpp
index 2f03d0c..e64ce15 100644
--- a/init.cpp
+++ b/init.cpp
@@ -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
deleted file mode 100644
index 07b103b..0000000
--- a/lib/gpgme.exp
+++ /dev/null
Binary files differ
diff --git a/lib/gpgme.lib b/lib/gpgme.lib
deleted file mode 100644
index 2f833c0..0000000
--- a/lib/gpgme.lib
+++ /dev/null
Binary files differ
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
index a74710b..8fcfc83 100644
--- a/lib/libgcrypt.exp
+++ b/lib/libgcrypt-11.exp
Binary files differ
diff --git a/lib/libgcrypt-11.lib b/lib/libgcrypt-11.lib
new file mode 100644
index 0000000..d527033
--- /dev/null
+++ b/lib/libgcrypt-11.lib
Binary files differ
diff --git a/lib/libgcrypt.lib b/lib/libgcrypt.lib
deleted file mode 100644
index 3cd34a9..0000000
--- a/lib/libgcrypt.lib
+++ /dev/null
Binary files differ
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
new file mode 100644
index 0000000..0ed3fd2
--- /dev/null
+++ b/lib/libgpgme-11.exp
Binary files differ
diff --git a/lib/libgpgme-11.lib b/lib/libgpgme-11.lib
index 8ec4a86..cfd1c15 100644
--- a/lib/libgpgme-11.lib
+++ b/lib/libgpgme-11.lib
Binary files differ
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
index bb332a6..b1e2925 100644
--- a/lib/libksba.exp
+++ b/lib/libksba-8.exp
Binary files differ
diff --git a/lib/libksba-8.lib b/lib/libksba-8.lib
new file mode 100644
index 0000000..f9a74a5
--- /dev/null
+++ b/lib/libksba-8.lib
Binary files differ
diff --git a/lib/libksba.lib b/lib/libksba.lib
deleted file mode 100644
index f1eedca..0000000
--- a/lib/libksba.lib
+++ /dev/null
Binary files differ
diff --git a/main.cpp b/main.cpp
index 986f3ae..63735bf 100644
--- a/main.cpp
+++ b/main.cpp
@@ -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;
+}
diff --git a/new_gpg.rc b/new_gpg.rc
index 38aeab6..989b5eb 100644
--- a/new_gpg.rc
+++ b/new_gpg.rc
@@ -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="&quot;X:\install\git\miranda\miranda-im\miranda\include&quot;;../../include"
+ AdditionalIncludeDirectories="X:\install\git\miranda\mim_plugs;&quot;X:\install\git\miranda\miranda-im\miranda\include&quot;;../../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="&quot;X:\install\git\miranda\miranda-im\miranda\include&quot;;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;
+}
diff --git a/resource.h b/resource.h
index 89d6198..ac3997d 100644
--- a/resource.h
+++ b/resource.h
@@ -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