From ff474015eef9bbd70db28c1c64f97297dec9182e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 2 Apr 2021 15:20:10 +0300 Subject: =?UTF-8?q?fixes=20#2827=20(Db=5Fautobackups:=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D1=8F=D1=82=D1=8C=20=D0=BF=D0=BE=D0=B4=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=D0=BA=D1=83=20=D0=BE=20=D0=B2=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=20=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D1=8E?= =?UTF-8?q?=D1=89=D0=B5=D0=B3=D0=BE=20=D1=80=D0=B5=D0=B7=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BE=D0=BF=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=B6=D0=B0=D1=82=D0=B8=D1=8F=20=D0=BA=D0=BD?= =?UTF-8?q?=D0=BE=D0=BF=D0=BA=D0=B8=20"=D0=A1=D0=B5=D0=B9=D1=87=D0=B0?= =?UTF-8?q?=D1=81")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/Db_autobackups/src/backup.cpp | 1 + plugins/Db_autobackups/src/main.cpp | 1 + plugins/Db_autobackups/src/options.cpp | 14 ++++++++++++++ plugins/Db_autobackups/src/stdafx.h | 6 +++++- 4 files changed, 21 insertions(+), 1 deletion(-) (limited to 'plugins/Db_autobackups') diff --git a/plugins/Db_autobackups/src/backup.cpp b/plugins/Db_autobackups/src/backup.cpp index 1ac63a7bab..fce17e44fd 100644 --- a/plugins/Db_autobackups/src/backup.cpp +++ b/plugins/Db_autobackups/src/backup.cpp @@ -266,6 +266,7 @@ static int Backup(wchar_t *backup_filename) UpdateWindow(progress_dialog); } g_plugin.setDword("LastBackupTimestamp", (DWORD)time(0)); + NotifyEventHooks(g_plugin.hevBackup); if (g_plugin.use_cloudfile) { CFUPLOADDATA ui = { g_plugin.cloudfile_service, dest_file, L"Backups" }; diff --git a/plugins/Db_autobackups/src/main.cpp b/plugins/Db_autobackups/src/main.cpp index fa7dc4199a..5fd1b5172c 100644 --- a/plugins/Db_autobackups/src/main.cpp +++ b/plugins/Db_autobackups/src/main.cpp @@ -173,6 +173,7 @@ int CMPlugin::Load() CreateServiceFunction(MS_AB_BACKUP, ABService); CreateServiceFunction(MS_AB_SAVEAS, DBSaveAs); + hevBackup = CreateHookableEvent(ME_AUTOBACKUP_DONE); HookEvent(ME_OPT_INITIALISE, OptionsInit); SetBackupTimer(); diff --git a/plugins/Db_autobackups/src/options.cpp b/plugins/Db_autobackups/src/options.cpp index d0688efd59..f6f3808174 100644 --- a/plugins/Db_autobackups/src/options.cpp +++ b/plugins/Db_autobackups/src/options.cpp @@ -1,5 +1,7 @@ #include "stdafx.h" +#define WM_BACKUP_DONE (WM_USER+1) + ///////////////////////////////////////////////////////////////////////////////////////// class COptionsDlg : public CDlgBase @@ -113,6 +115,16 @@ class COptionsDlg : public CDlgBase CCtrlHyperlink m_foldersPageLink; HWND m_hPathTip; + HANDLE m_hEvent; + + UI_MESSAGE_MAP(COptionsDlg, CDlgBase); + UI_MESSAGE(WM_BACKUP_DONE, BackupDone); + UI_MESSAGE_MAP_END(); + + INT_PTR BackupDone(UINT, WPARAM, LPARAM) + { + onChange_Period(0); + } public: COptionsDlg() : @@ -157,6 +169,8 @@ public: bool OnInitDialog() override { + m_hEvent = HookEventMessage(ME_AUTOBACKUP_DONE, m_hwnd, WM_BACKUP_DONE); + m_disable.SetState(g_plugin.backup_types == BT_DISABLED); m_backupOnStart.SetState(g_plugin.backup_types & BT_START ? TRUE : FALSE); m_backupOnExit.SetState(g_plugin.backup_types & BT_EXIT ? TRUE : FALSE); diff --git a/plugins/Db_autobackups/src/stdafx.h b/plugins/Db_autobackups/src/stdafx.h index 48ccefd7df..883372ea4d 100644 --- a/plugins/Db_autobackups/src/stdafx.h +++ b/plugins/Db_autobackups/src/stdafx.h @@ -37,10 +37,12 @@ struct CMPlugin : public PLUGIN { CMPlugin(); + HANDLE hevBackup; + wchar_t folder[MAX_PATH]; + CMOption backup_types; CMOption period; CMOption period_type; - wchar_t folder[MAX_PATH]; CMOption file_mask; CMOption num_backups; CMOption disable_progress; @@ -60,6 +62,8 @@ struct CMPlugin : public PLUGIN #define SUB_DIR L"\\AutoBackups" #define DIR L"%miranda_userdata%" +#define ME_AUTOBACKUP_DONE "Autobackup/Done" + int SetBackupTimer(void); int OptionsInit(WPARAM wParam, LPARAM lParam); void BackupStart(wchar_t *backup_filename); -- cgit v1.2.3