Skip to content

Commit c37c739

Browse files
authored
Merge pull request #3 from WinMerge/sync-scroll
Synchronize Scrolling in Web page comparison WinMerge/winmerge#2064
2 parents e4910ea + 10ee2c7 commit c37c739

File tree

6 files changed

+520
-63
lines changed

6 files changed

+520
-63
lines changed

src/WinWebDiff/Resource.h

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,18 @@
3838
#define IDM_COMPARE_LASTDIFFERENCE 149
3939
#define IDM_COMPARE_NEXTCONFLICT 150
4040
#define IDM_COMPARE_PREVIOUSCONFLICT 151
41-
#define IDM_CLEAR_DISK_CACHE 161
42-
#define IDM_CLEAR_COOKIES 162
43-
#define IDM_CLEAR_BROWSING_HISTORY 163
44-
#define IDM_CLEAR_ALL_PROFILE 164
45-
#define IDI_WINWEBDIFF 170
46-
#define IDI_SMALL 171
47-
#define IDC_WINWEBDIFF 172
41+
#define IDM_SYNC_ENABLED 160
42+
#define IDM_SYNC_SCROLL 161
43+
#define IDM_SYNC_CLICK 162
44+
#define IDM_SYNC_INPUT 163
45+
#define IDM_SYNC_GOBACKFORWARD 164
46+
#define IDM_CLEAR_DISK_CACHE 171
47+
#define IDM_CLEAR_COOKIES 172
48+
#define IDM_CLEAR_BROWSING_HISTORY 173
49+
#define IDM_CLEAR_ALL_PROFILE 174
50+
#define IDI_WINWEBDIFF 180
51+
#define IDI_SMALL 181
52+
#define IDC_WINWEBDIFF 182
4853
#define IDC_MYICON 2
4954
#ifndef IDC_STATIC
5055
#define IDC_STATIC -1
@@ -55,7 +60,7 @@
5560
#ifndef APSTUDIO_READONLY_SYMBOLS
5661

5762
#define _APS_NO_MFC 130
58-
#define _APS_NEXT_RESOURCE_VALUE 180
63+
#define _APS_NEXT_RESOURCE_VALUE 190
5964
#define _APS_NEXT_COMMAND_VALUE 32771
6065
#define _APS_NEXT_CONTROL_VALUE 1000
6166
#define _APS_NEXT_SYMED_VALUE 111

src/WinWebDiff/WinWebDiff.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

372377
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)
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;

src/WinWebDiff/WinWebDiff.rc

830 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)