diff options
-rw-r--r-- | plugins/Dbx_mdbx/dbx_mdbx.vcxproj | 2 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/dbx_mdbx.vcxproj.filters | 6 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/res/compact.ico | bin | 5430 -> 0 bytes | |||
-rw-r--r-- | plugins/Dbx_mdbx/res/dbx_mdbx.rc | 28 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/src/dbintf.cpp | 2 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/src/dbintf.h | 2 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/src/stdafx.h | 1 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/src/ui.cpp | 69 | ||||
-rw-r--r-- | plugins/Dbx_mdbx/src/ui.h | 3 | ||||
-rw-r--r-- | src/mir_app/src/database.cpp | 37 | ||||
-rw-r--r-- | src/mir_app/src/profilemanager.cpp | 2 | ||||
-rw-r--r-- | src/mir_app/src/profilemanager.h | 1 |
12 files changed, 37 insertions, 116 deletions
diff --git a/plugins/Dbx_mdbx/dbx_mdbx.vcxproj b/plugins/Dbx_mdbx/dbx_mdbx.vcxproj index 376b0734aa..7d7dc2e57d 100644 --- a/plugins/Dbx_mdbx/dbx_mdbx.vcxproj +++ b/plugins/Dbx_mdbx/dbx_mdbx.vcxproj @@ -43,11 +43,9 @@ <ClCompile Include="src\stdafx.cxx">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
- <ClCompile Include="src\ui.cpp" />
<ClInclude Include="src\dbintf.h" />
<ClInclude Include="src\resource.h" />
<ClInclude Include="src\stdafx.h" />
- <ClInclude Include="src\ui.h" />
<ClInclude Include="src\version.h" />
</ItemGroup>
<ItemGroup>
diff --git a/plugins/Dbx_mdbx/dbx_mdbx.vcxproj.filters b/plugins/Dbx_mdbx/dbx_mdbx.vcxproj.filters index 06ca8b9103..bf803e0949 100644 --- a/plugins/Dbx_mdbx/dbx_mdbx.vcxproj.filters +++ b/plugins/Dbx_mdbx/dbx_mdbx.vcxproj.filters @@ -29,9 +29,6 @@ <ClCompile Include="src\stdafx.cxx">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="src\ui.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="src\dbcheck.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -46,9 +43,6 @@ <ClInclude Include="src\stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="src\ui.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="src\version.h">
<Filter>Header Files</Filter>
</ClInclude>
diff --git a/plugins/Dbx_mdbx/res/compact.ico b/plugins/Dbx_mdbx/res/compact.ico Binary files differdeleted file mode 100644 index d9c35f5d6d..0000000000 --- a/plugins/Dbx_mdbx/res/compact.ico +++ /dev/null diff --git a/plugins/Dbx_mdbx/res/dbx_mdbx.rc b/plugins/Dbx_mdbx/res/dbx_mdbx.rc index e52335b93f..159d3de16b 100644 --- a/plugins/Dbx_mdbx/res/dbx_mdbx.rc +++ b/plugins/Dbx_mdbx/res/dbx_mdbx.rc @@ -18,15 +18,6 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_COMPACT ICON "compact.ico"
-
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
@@ -43,26 +34,7 @@ BEGIN "#include <winres.h>\0"
END
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
#endif // APSTUDIO_INVOKED
#endif // Английский (США) resources
/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/plugins/Dbx_mdbx/src/dbintf.cpp b/plugins/Dbx_mdbx/src/dbintf.cpp index 6b9f905b53..bb46a1ddb6 100644 --- a/plugins/Dbx_mdbx/src/dbintf.cpp +++ b/plugins/Dbx_mdbx/src/dbintf.cpp @@ -221,10 +221,8 @@ int CDbxMDBX::Load() if (InitModules()) return EGROKPRF_DAMAGED;
if (InitCrypt()) return EGROKPRF_DAMAGED;
- InitDialogs();
FillContacts();
FillSettings();
-
return EGROKPRF_NOERROR;
}
diff --git a/plugins/Dbx_mdbx/src/dbintf.h b/plugins/Dbx_mdbx/src/dbintf.h index 67ccd62718..02f4ad8689 100644 --- a/plugins/Dbx_mdbx/src/dbintf.h +++ b/plugins/Dbx_mdbx/src/dbintf.h @@ -223,8 +223,6 @@ class CDbxMDBX : public MDatabaseCommon, public MIDatabaseChecker, public MZeroe MDBX_dbi m_dbCrypto;
- void InitDialogs();
-
public:
CDbxMDBX(const wchar_t *tszFileName, int mode);
virtual ~CDbxMDBX();
diff --git a/plugins/Dbx_mdbx/src/stdafx.h b/plugins/Dbx_mdbx/src/stdafx.h index 477861244f..5cf483183f 100644 --- a/plugins/Dbx_mdbx/src/stdafx.h +++ b/plugins/Dbx_mdbx/src/stdafx.h @@ -102,4 +102,3 @@ struct CMPlugin : public PLUGIN<CMPlugin> int Load() override;
};
-#include "ui.h"
diff --git a/plugins/Dbx_mdbx/src/ui.cpp b/plugins/Dbx_mdbx/src/ui.cpp deleted file mode 100644 index a19e33da41..0000000000 --- a/plugins/Dbx_mdbx/src/ui.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/*
-
-Miranda NG: the free IM client for Microsoft* Windows*
-
-Copyright (C) 2012-21 Miranda NG team (https://miranda-ng.org)
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#include "stdafx.h"
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-static INT_PTR CompactMe(void* obj, WPARAM, LPARAM)
-{
- CDbxMDBX *db = (CDbxMDBX*)obj;
- if (!db->Compact())
- MessageBox(0, TranslateT("Database was compacted successfully"), TranslateT("Database"), MB_OK | MB_ICONINFORMATION);
- else
- MessageBox(0, TranslateT("Database compaction failed"), TranslateT("Database"), MB_OK | MB_ICONERROR);
- return 0;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-static IconItem iconList[] =
-{
- { LPGEN("Compact"), "compact", IDI_COMPACT }
-};
-
-static int OnModulesLoaded(WPARAM, LPARAM)
-{
- g_plugin.registerIcon(LPGEN("Database"), iconList, "mdbx");
-
- // main menu item
- CMenuItem mi(&g_plugin);
- mi.root = g_plugin.addRootMenu(MO_MAIN, LPGENW("Database"), 500000000, 0);
-
- SET_UID(mi, 0x98c0caf3, 0xBfe5, 0x4e31, 0xac, 0xf0, 0xab, 0x95, 0xb2, 0x9b, 0x9f, 0x73);
- mi.position++;
- mi.hIcolibItem = iconList[0].hIcolib;
- mi.name.a = LPGEN("Compact");
- mi.pszService = MS_DB_COMPACT;
- Menu_AddMainMenuItem(&mi);
- return 0;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-void CDbxMDBX::InitDialogs()
-{
- hService[0] = CreateServiceFunctionObj(MS_DB_COMPACT, CompactMe, this);
-
- hHook = HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
-}
diff --git a/plugins/Dbx_mdbx/src/ui.h b/plugins/Dbx_mdbx/src/ui.h deleted file mode 100644 index e1c4fe5f4a..0000000000 --- a/plugins/Dbx_mdbx/src/ui.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once
-
-#define MS_DB_COMPACT "DB/UI/Compact"
diff --git a/src/mir_app/src/database.cpp b/src/mir_app/src/database.cpp index 906358520d..d3ee8296e6 100644 --- a/src/mir_app/src/database.cpp +++ b/src/mir_app/src/database.cpp @@ -29,7 +29,7 @@ bool g_bDbCreated; wchar_t g_profileDir[MAX_PATH], g_profileName[MAX_PATH], g_shortProfileName[MAX_PATH];
wchar_t* g_defaultProfile;
-bool fileExist(const wchar_t *fname)
+static bool fileExist(const wchar_t *fname)
{
if (*fname == 0)
return false;
@@ -445,6 +445,38 @@ static BOOL CALLBACK EnumMirandaWindows(HWND hwnd, LPARAM lParam) }
/////////////////////////////////////////////////////////////////////////////////////////
+// Default menu items
+
+static INT_PTR CompactMe(void* obj, WPARAM, LPARAM)
+{
+ auto *db = (MDatabaseCommon *)obj;
+ if (!db->Compact())
+ MessageBox(0, TranslateT("Database was compacted successfully"), TranslateT("Database"), MB_OK | MB_ICONINFORMATION);
+ else
+ MessageBox(0, TranslateT("Database compaction failed"), TranslateT("Database"), MB_OK | MB_ICONERROR);
+ return 0;
+}
+
+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);
+
+ SET_UID(mi, 0x98c0caf3, 0xBfe5, 0x4e31, 0xac, 0xf0, 0xab, 0x95, 0xb2, 0x9b, 0x9f, 0x73);
+ mi.position++;
+ mi.hIcolibItem = g_plugin.getIconHandle(IDI_DATABASE);
+ mi.name.a = LPGEN("Compact");
+ mi.pszService = "DB/UI/Compact";
+ Menu_AddMainMenuItem(&mi);
+
+ CreateServiceFunctionObj(mi.pszService, CompactMe, pDb);
+ }
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
static wchar_t tszNoDrivers[] = LPGENW("Miranda is unable to open '%s' because you do not have any profile plugins installed.\nYou need to install dbx_mdbx.dll");
static wchar_t tszUnknownFormat[] = LPGENW("Miranda was unable to open '%s', it's in an unknown format.");
@@ -510,5 +542,8 @@ int LoadDatabaseModule(void) }
while (retry);
+ if (rc == 0)
+ HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
+
return rc;
}
diff --git a/src/mir_app/src/profilemanager.cpp b/src/mir_app/src/profilemanager.cpp index 398bf6419c..628bc8856d 100644 --- a/src/mir_app/src/profilemanager.cpp +++ b/src/mir_app/src/profilemanager.cpp @@ -33,7 +33,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define WM_INPUTCHANGED (WM_USER + 0x3000) #define WM_FOCUSTEXTBOX (WM_USER + 0x3001) -typedef BOOL (__cdecl *ENUMPROFILECALLBACK) (wchar_t *tszFullPath, wchar_t *profile, LPARAM lParam); +typedef BOOL (__cdecl *ENUMPROFILECALLBACK)(wchar_t *tszFullPath, wchar_t *profile, LPARAM lParam); ///////////////////////////////////////////////////////////////////////////////////////// // Profile creator diff --git a/src/mir_app/src/profilemanager.h b/src/mir_app/src/profilemanager.h index e4a5f89b62..a895474918 100644 --- a/src/mir_app/src/profilemanager.h +++ b/src/mir_app/src/profilemanager.h @@ -40,7 +40,6 @@ int touchDatabase(const wchar_t *tszProfile, DATABASELINK **pDblink); int getProfileManager(PROFILEMANAGERDATA *pd);
int getProfilePath(wchar_t *buf, size_t cch);
int isValidProfileName(const wchar_t *name);
-bool fileExist(const wchar_t *fname);
bool shouldAutoCreate(wchar_t *szProfile);
extern wchar_t g_profileDir[MAX_PATH], g_profileName[MAX_PATH], g_shortProfileName[MAX_PATH];
|