@@ -367,6 +367,11 @@ void UpdateMenuState(HWND hWnd)
367367 CheckMenuItem (hMenu, IDM_VIEW_SPLITHORIZONTALLY, m_pWebDiffWindow->GetHorizontalSplit () ? MF_CHECKED : MF_UNCHECKED);
368368 CheckMenuRadioItem (hMenu, IDM_VIEW_DIFF_ALGORITHM_MYERS, IDM_VIEW_DIFF_ALGORITHM_NONE,
369369 m_pWebDiffWindow->GetDiffOptions ().diffAlgorithm + IDM_VIEW_DIFF_ALGORITHM_MYERS, MF_BYCOMMAND);
370+ CheckMenuItem (hMenu, IDM_SYNC_ENABLED, m_pWebDiffWindow->GetSyncEvents () ? MF_CHECKED : MF_UNCHECKED);
371+ CheckMenuItem (hMenu, IDM_SYNC_SCROLL, m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_SCROLL) ? MF_CHECKED : MF_UNCHECKED);
372+ CheckMenuItem (hMenu, IDM_SYNC_CLICK, m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_CLICK) ? MF_CHECKED : MF_UNCHECKED);
373+ CheckMenuItem (hMenu, IDM_SYNC_INPUT, m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_INPUT) ? MF_CHECKED : MF_UNCHECKED);
374+ CheckMenuItem (hMenu, IDM_SYNC_GOBACKFORWARD, m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_GOBACKFORWARD) ? MF_CHECKED : MF_UNCHECKED);
370375}
371376
372377LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
@@ -583,6 +588,30 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
583588 case IDM_COMPARE_PREVIOUSCONFLICT:
584589 m_pWebDiffWindow->PrevConflict ();
585590 break ;
591+ case IDM_SYNC_ENABLED:
592+ m_pWebDiffWindow->SetSyncEvents (!m_pWebDiffWindow->GetSyncEvents ());
593+ UpdateMenuState (m_hWnd);
594+ break ;
595+ case IDM_SYNC_SCROLL:
596+ m_pWebDiffWindow->SetSyncEventFlag (IWebDiffWindow::EVENT_SCROLL,
597+ !m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_SCROLL));
598+ UpdateMenuState (m_hWnd);
599+ break ;
600+ case IDM_SYNC_CLICK:
601+ m_pWebDiffWindow->SetSyncEventFlag (IWebDiffWindow::EVENT_CLICK,
602+ !m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_CLICK));
603+ UpdateMenuState (m_hWnd);
604+ break ;
605+ case IDM_SYNC_INPUT:
606+ m_pWebDiffWindow->SetSyncEventFlag (IWebDiffWindow::EVENT_INPUT,
607+ !m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_INPUT));
608+ UpdateMenuState (m_hWnd);
609+ break ;
610+ case IDM_SYNC_GOBACKFORWARD:
611+ m_pWebDiffWindow->SetSyncEventFlag (IWebDiffWindow::EVENT_GOBACKFORWARD,
612+ !m_pWebDiffWindow->GetSyncEventFlag (IWebDiffWindow::EVENT_GOBACKFORWARD));
613+ UpdateMenuState (m_hWnd);
614+ break ;
586615 case IDM_CLEAR_DISK_CACHE:
587616 m_pWebDiffWindow->ClearBrowsingData (-1 , IWebDiffWindow::BrowsingDataType::DISK_CACHE);
588617 break ;
0 commit comments