@@ -367,6 +367,11 @@ void UpdateMenuState(HWND hWnd)
367
367
CheckMenuItem (hMenu, IDM_VIEW_SPLITHORIZONTALLY, m_pWebDiffWindow->GetHorizontalSplit () ? MF_CHECKED : MF_UNCHECKED);
368
368
CheckMenuRadioItem (hMenu, IDM_VIEW_DIFF_ALGORITHM_MYERS, IDM_VIEW_DIFF_ALGORITHM_NONE,
369
369
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);
370
375
}
371
376
372
377
LRESULT 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)
583
588
case IDM_COMPARE_PREVIOUSCONFLICT:
584
589
m_pWebDiffWindow->PrevConflict ();
585
590
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 ;
586
615
case IDM_CLEAR_DISK_CACHE:
587
616
m_pWebDiffWindow->ClearBrowsingData (-1 , IWebDiffWindow::BrowsingDataType::DISK_CACHE);
588
617
break ;
0 commit comments