From 4101ee8ff9bc818f40dc0173b1434761f187597f Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Tue, 22 Nov 2011 18:30:08 +0000 Subject: added GnuPG git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@197 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- GnuPG/options.cpp | 390 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 390 insertions(+) create mode 100644 GnuPG/options.cpp (limited to 'GnuPG/options.cpp') diff --git a/GnuPG/options.cpp b/GnuPG/options.cpp new file mode 100644 index 0000000..5d4d18f --- /dev/null +++ b/GnuPG/options.cpp @@ -0,0 +1,390 @@ +#include "gnupgplugin.h" + +char *column[]={"Contact","Key and User ID"}; /*lang*/ +int columnwidth[]={150, 368}; + +int OptionsInit(WPARAM wparam, LPARAM lparam) +{ + OPTIONSDIALOGPAGE odp; + + ZeroMemory(&odp,sizeof(odp)); + odp.cbSize=sizeof(odp); + odp.hInstance=dllinstance; + odp.pszGroup=Translate(txtplugins); + odp.pszTitle=Translate(txtoptions); + odp.pszTemplate=(char*)MAKEINTRESOURCE(IDD_OPTIONS_DLG); + odp.pfnDlgProc=OptionsDialogProcedure; + odp.expertOnlyControls=NULL; + odp.nExpertOnlyControls=0; + odp.flags=ODPF_BOLDGROUPS; + CallService(MS_OPT_ADDPAGE,wparam,(LPARAM)&odp); + + ZeroMemory(&odp,sizeof(odp)); + odp.cbSize=sizeof(odp); + odp.hInstance=dllinstance; + odp.pszGroup=Translate(txtplugins); + odp.pszTitle=Translate(txtexpertoptions); + odp.pszTemplate=(char*)MAKEINTRESOURCE(IDD_EXPERTOPTIONS_DLG); + odp.pfnDlgProc=ExpertOptionsDialogProcedure; + odp.expertOnlyControls=NULL; + odp.nExpertOnlyControls=0; + odp.flags=ODPF_BOLDGROUPS|ODPF_EXPERTONLY; + CallService(MS_OPT_ADDPAGE,wparam,(LPARAM)&odp); + + return 0; +} + +void fillKeyDropdown(HWND hdlg, int atype) +{ + int index; + HWND hwnd; + + if (atype==publickeyuserid) hwnd=GetDlgItem(hdlg,IDC_PUBLICKEY_DDOWN); + else hwnd=GetDlgItem(hdlg,IDC_SECRETKEY_DDOWN); + + SendMessage(hwnd,CB_RESETCONTENT,0,0); + SendMessage(hwnd,CB_ADDSTRING,0,(LPARAM)Translate(txtnone)); + SendMessage(hwnd,CB_SELECTSTRING,-1,(LPARAM)Translate(txtnone)); + + for (index=0; indexcode) + { + case LVN_ITEMCHANGED: + nmlv=(NM_LISTVIEW *)lparam; + if (nmlv->uNewState&LVIS_SELECTED!=0) + synchronizePublicKeyUserID(hdlg); + break; + case PSN_APPLY: + // eingaben in der datenbank abspeichern + GetDlgItemText(hdlg,IDC_GPGEXECUTABLE_EDIT,(LPTSTR)gpgExecutable,fullfilenamesize); + DBWriteContactSettingString(NULL,pluginid,dbexecutable,gpgExecutable); + GetDlgItemText(hdlg,IDC_GPGHOME_EDIT,(LPTSTR)gpgHomeDirectory,argumentsize); + DBWriteContactSettingString(NULL, pluginid, dbhomedirectory, gpgHomeDirectory); + + hwnd=GetDlgItem(hdlg, IDC_KEY_LIST); + count=ListView_GetItemCount(hwnd); + + for (index=0; indexcode) + { + case PSN_APPLY: + storepassphraseschecked=IsDlgButtonChecked(hdlg, IDC_STOREPASSPHRASES_CBOX); + DBWriteContactSettingDword(NULL, pluginid, dbstorepassphrases, storepassphraseschecked); + autoimportpublickeyschecked=IsDlgButtonChecked(hdlg, IDC_IMPORTPUBLICKEYS_CBOX); + DBWriteContactSettingDword(NULL, pluginid, dbautoimportpublickeys, autoimportpublickeyschecked); + + // alle passphrasen loeschen + if(storepassphraseschecked==BST_UNCHECKED) + { + releasePassphrases(); + initPassphrases(); + } + + GetDlgItemText(hdlg,IDC_STARTTAG_EDIT,(LPTSTR)starttag,sizeof(starttag)); + unquoteEscapeSequences(starttag); + DBWriteContactSettingString(NULL,pluginid,dbstarttag,starttag); + GetDlgItemText(hdlg,IDC_ENDTAG_EDIT,(LPTSTR)endtag,sizeof(endtag)); + unquoteEscapeSequences(endtag); + DBWriteContactSettingString(NULL,pluginid,dbendtag,endtag); + + GetDlgItemText(hdlg,IDC_LISTPUBLICKEYS_EDIT,(LPTSTR)gpgArgsListPublicKeys,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dblistpublickeys,gpgArgsListPublicKeys); + GetDlgItemText(hdlg,IDC_LISTSECRETKEYS_EDIT,(LPTSTR)gpgArgsListSecretKeys,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dblistsecretkeys,gpgArgsListSecretKeys); + GetDlgItemText(hdlg,IDC_IMPORTPUBLICKEY_EDIT,(LPTSTR)gpgArgsImportPublicKey,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dbimportpublickey,gpgArgsImportPublicKey); + GetDlgItemText(hdlg,IDC_EXPORTPUBLICKEY_EDIT,(LPTSTR)gpgArgsExportPublicKey,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dbexportpublickey,gpgArgsExportPublicKey); + GetDlgItemText(hdlg,IDC_DETECTUSERID_EDIT,(LPTSTR)gpgArgsDetectUserID,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dbdetectuserid,gpgArgsDetectUserID); + GetDlgItemText(hdlg,IDC_ENCRYPT_EDIT,(LPTSTR)gpgArgsEncrypt,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dbencrypt,gpgArgsEncrypt); + GetDlgItemText(hdlg,IDC_DECRYPT_EDIT,(LPTSTR)gpgArgsDecrypt,argumentsize); + DBWriteContactSettingString(NULL,pluginid,dbdecrypt,gpgArgsDecrypt); + GetDlgItemText(hdlg,IDC_TEMPDIR_EDIT,(LPTSTR)gpgTempdir,fullfilenamesize); + DBWriteContactSettingString(NULL,pluginid,dbtempdir,gpgTempdir); + + loggingonchecked=IsDlgButtonChecked(hdlg,IDC_LOGGINGON_CBOX); + DBWriteContactSettingDword(NULL,pluginid,dbloggingon,loggingonchecked); + GetDlgItemText(hdlg,IDC_LOGFILE_EDIT,(LPTSTR)logfile,fullfilenamesize); + DBWriteContactSettingString(NULL,pluginid,dblogfile,logfile); + break; + } + break; + + case WM_COMMAND: + if (GetFocus()==(HWND)lparam) + { + if((HIWORD(wparam)==EN_CHANGE) // text verändert + ||((HIWORD(wparam)==BN_CLICKED)&&(LOWORD(wparam)==IDC_STOREPASSPHRASES_CBOX)) // check box + ||((HIWORD(wparam)==BN_CLICKED)&&(LOWORD(wparam)==IDC_IMPORTPUBLICKEYS_CBOX)) // check box + ||((HIWORD(wparam)==BN_CLICKED)&&(LOWORD(wparam)==IDC_LOGGINGON_CBOX))) // check box + SendMessage(GetParent(hdlg), PSM_CHANGED, 0, 0); // aktiviere apply button + } + + switch (LOWORD(wparam)) + { + case IDC_RESET_BTN: + // restaurieren der default werte + strcpy(gpgArgsListPublicKeys, txtgpgargslistpublickeys); + strcpy(gpgArgsListSecretKeys, txtgpgargslistsecretkeys); + strcpy(gpgArgsImportPublicKey, txtgpgargsimportpublickey); + strcpy(gpgArgsExportPublicKey, txtgpgargsexportpublickey); + strcpy(gpgArgsDetectUserID, txtgpgargsdetectuserid); + strcpy(gpgArgsEncrypt, txtgpgargsencrypt); + strcpy(gpgArgsDecrypt, txtgpgargsdecrypt); + strcpy(gpgTempdir, txtgpgtempdir); + + // dialog aktualisieren + SetDlgItemText(hdlg,IDC_LISTPUBLICKEYS_EDIT,(LPCTSTR)gpgArgsListPublicKeys); + SetDlgItemText(hdlg,IDC_LISTSECRETKEYS_EDIT,(LPCTSTR)gpgArgsListSecretKeys); + SetDlgItemText(hdlg,IDC_IMPORTPUBLICKEY_EDIT,(LPCTSTR)gpgArgsImportPublicKey); + SetDlgItemText(hdlg,IDC_EXPORTPUBLICKEY_EDIT,(LPCTSTR)gpgArgsExportPublicKey); + SetDlgItemText(hdlg,IDC_DETECTUSERID_EDIT,(LPCTSTR)gpgArgsDetectUserID); + SetDlgItemText(hdlg,IDC_ENCRYPT_EDIT,(LPCTSTR)gpgArgsEncrypt); + SetDlgItemText(hdlg,IDC_DECRYPT_EDIT,(LPCTSTR)gpgArgsDecrypt); + SetDlgItemText(hdlg,IDC_TEMPDIR_EDIT,(LPCTSTR)gpgTempdir); + + SendMessage(GetParent(hdlg),PSM_CHANGED,0,0); // aktiviere apply button + break; + } + break; + } + return 0; +} -- cgit v1.2.3