diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mir_app/src/MDatabaseCommonCrypt.cpp | 22 | ||||
-rw-r--r-- | src/mir_app/src/database.cpp | 10 | ||||
-rw-r--r-- | src/mir_app/src/encrypt.h | 2 |
3 files changed, 15 insertions, 19 deletions
diff --git a/src/mir_app/src/MDatabaseCommonCrypt.cpp b/src/mir_app/src/MDatabaseCommonCrypt.cpp index 29b804c6a6..ba9964b863 100644 --- a/src/mir_app/src/MDatabaseCommonCrypt.cpp +++ b/src/mir_app/src/MDatabaseCommonCrypt.cpp @@ -25,8 +25,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "database.h" #include "encrypt.h" -#define MS_DB_CHANGEPASSWORD "DB/UI/ChangePassword" - ///////////////////////////////////////////////////////////////////////////////////////// // Provider selection dialog @@ -315,25 +313,20 @@ static int OnOptionsInit(PVOID obj, WPARAM wParam, LPARAM) ///////////////////////////////////////////////////////////////////////////////////////// -static int OnModulesLoaded(PVOID obj, WPARAM, LPARAM) +void InitCryptMenuItem(CMenuItem &mi) { - MDatabaseCommon *db = (MDatabaseCommon *)obj; - - HookEventObj(ME_OPT_INITIALISE, OnOptionsInit, obj); + auto *pDb = db_get_current(); - // main menu item - CMenuItem mi(&g_plugin); - mi.root = g_plugin.addRootMenu(MO_MAIN, LPGENW("Database"), 500000000, g_plugin.getIconHandle(IDI_DATABASE)); - Menu_ConfigureItem(mi.root, MCI_OPT_UID, "F7C5567C-D1EE-484B-B4F6-24677A5AAAEF"); + HookEventObj(ME_OPT_INITIALISE, OnOptionsInit, pDb); SET_UID(mi, 0x50321866, 0xba1, 0x46dd, 0xb3, 0xa6, 0xc3, 0xcc, 0x55, 0xf2, 0x42, 0x9e); mi.flags = CMIF_UNICODE; mi.position = 1000000001; mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_KEYS); - mi.name.w = GetMenuTitle(db->usesPassword()); - mi.pszService = MS_DB_CHANGEPASSWORD; + mi.name.w = GetMenuTitle(pDb->usesPassword()); + mi.pszService = "DB/UI/ChangePassword"; hSetPwdMenu = Menu_AddMainMenuItem(&mi); - return 0; + CreateServiceFunctionObj(mi.pszService, ChangePassword, pDb); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -455,9 +448,6 @@ int MDatabaseCommon::InitCrypt() StoreCryptoKey(); } - CreateServiceFunctionObj(MS_DB_CHANGEPASSWORD, ChangePassword, this); - HookEventObj(ME_SYSTEM_MODULESLOADED, OnModulesLoaded, this); - m_bEncrypted = ReadEncryption(); return 0; } diff --git a/src/mir_app/src/database.cpp b/src/mir_app/src/database.cpp index d3ee8296e6..8e90ab01b9 100644 --- a/src/mir_app/src/database.cpp +++ b/src/mir_app/src/database.cpp @@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "stdafx.h"
+#include "encrypt.h"
#include "profilemanager.h"
bool g_bDbCreated;
@@ -460,10 +461,11 @@ static INT_PTR CompactMe(void* obj, WPARAM, LPARAM) static int OnModulesLoaded(WPARAM, LPARAM)
{
auto *pDb = db_get_current();
- if (pDb->GetDriver()->capabilities & MDB_CAPS_COMPACT) {
- CMenuItem mi(&g_plugin);
- mi.root = g_plugin.addRootMenu(MO_MAIN, LPGENW("Database"), 500000000, 0);
+ CMenuItem mi(&g_plugin);
+ mi.root = g_plugin.addRootMenu(MO_MAIN, LPGENW("Database"), 500000000, g_plugin.getIconHandle(IDI_DATABASE));
+
+ if (pDb->GetDriver()->capabilities & MDB_CAPS_COMPACT) {
SET_UID(mi, 0x98c0caf3, 0xBfe5, 0x4e31, 0xac, 0xf0, 0xab, 0x95, 0xb2, 0x9b, 0x9f, 0x73);
mi.position++;
mi.hIcolibItem = g_plugin.getIconHandle(IDI_DATABASE);
@@ -473,6 +475,8 @@ static int OnModulesLoaded(WPARAM, LPARAM) CreateServiceFunctionObj(mi.pszService, CompactMe, pDb);
}
+
+ InitCryptMenuItem(mi);
return 0;
}
diff --git a/src/mir_app/src/encrypt.h b/src/mir_app/src/encrypt.h index d05c9277a4..d340135f8b 100644 --- a/src/mir_app/src/encrypt.h +++ b/src/mir_app/src/encrypt.h @@ -43,3 +43,5 @@ struct MCryptoProvider : public CRYPTO_PROVIDER }; extern OBJLIST<MCryptoProvider> arCryptoProviders; + +void InitCryptMenuItem(CMenuItem &mi); |