diff --git a/Docs/Manual/English/_Copyrights.xml b/Docs/Manual/English/_Copyrights.xml
index 9e13d0e0b18..57efc0b940f 100644
--- a/Docs/Manual/English/_Copyrights.xml
+++ b/Docs/Manual/English/_Copyrights.xml
@@ -1,3 +1,3 @@
-
+
diff --git a/Docs/Manual/Japanese/_Copyrights.xml b/Docs/Manual/Japanese/_Copyrights.xml
index 9e13d0e0b18..57efc0b940f 100644
--- a/Docs/Manual/Japanese/_Copyrights.xml
+++ b/Docs/Manual/Japanese/_Copyrights.xml
@@ -1,3 +1,3 @@
-
+
diff --git a/DownloadDeps.cmd b/DownloadDeps.cmd
index 0c412a6dbf8..92689dbd063 100644
--- a/DownloadDeps.cmd
+++ b/DownloadDeps.cmd
@@ -24,9 +24,9 @@ https://github.com/WinMerge/winimerge/releases/download/v1.0.42/winimerge-1.0.42
https://github.com/WinMerge/winimerge/releases/download/v1.0.42/winimerge-1.0.42.0-x64.zip!Build\x64\Release ^
https://github.com/WinMerge/winimerge/releases/download/v1.0.42/winimerge-1.0.42.0-ARM.zip!Build\ARM\Release ^
https://github.com/WinMerge/winimerge/releases/download/v1.0.42/winimerge-1.0.42.0-ARM64.zip!Build\ARM64\Release ^
-https://github.com/WinMerge/winwebdiff/releases/download/v1.0.13/winwebdiff-1.0.13.0-x86.zip!Build\x86\Release ^
-https://github.com/WinMerge/winwebdiff/releases/download/v1.0.13/winwebdiff-1.0.13.0-x64.zip!Build\x64\Release ^
-https://github.com/WinMerge/winwebdiff/releases/download/v1.0.13/winwebdiff-1.0.13.0-ARM64.zip!Build\ARM64\Release ^
+https://github.com/WinMerge/winwebdiff/releases/download/v1.0.15/winwebdiff-1.0.15.0-x86.zip!Build\x86\Release ^
+https://github.com/WinMerge/winwebdiff/releases/download/v1.0.15/winwebdiff-1.0.15.0-x64.zip!Build\x64\Release ^
+https://github.com/WinMerge/winwebdiff/releases/download/v1.0.15/winwebdiff-1.0.15.0-ARM64.zip!Build\ARM64\Release ^
https://github.com/htacg/tidy-html5/releases/download/5.4.0/tidy-5.4.0-w32-mt-XP.zip!Build\tidy-html5 ^
https://github.com/htacg/tidy-html5/archive/refs/tags/5.4.0.zip!Build\tidy-html5 ^
https://github.com/jqlang/jq/releases/download/jq-1.7/jq-win32.exe!Build\jq ^
diff --git a/Externals/versions.txt b/Externals/versions.txt
index c3157648963..281c5ddb046 100644
--- a/Externals/versions.txt
+++ b/Externals/versions.txt
@@ -9,7 +9,7 @@ This file lists versions of the external components we are using.
- WinIMerge: 1.0.42.0
- freeimage: 3.18.0
- LibXDiff: 611e42a on Nov 2, 2018 (https://github.com/git/git/tree/master/xdiff)
-- WinWebDiff: 1.0.13.0
+- WinWebDiff: 1.0.15.0
- WebView2: 1.0.1518.46
- wil: 1.0.191107.2
- rapidjson: 1.1.1
diff --git a/Externals/winwebdiff b/Externals/winwebdiff
index b8cc49ac44a..6d7cf175ccf 160000
--- a/Externals/winwebdiff
+++ b/Externals/winwebdiff
@@ -1 +1 @@
-Subproject commit b8cc49ac44a4497035c3617e143c3b11b292aa4f
+Subproject commit 6d7cf175ccf04fad387f70abeca972c1582b6121
diff --git a/Src/Merge.rc b/Src/Merge.rc
index 94a5b6e6ff0..6bbc7b25aeb 100644
--- a/Src/Merge.rc
+++ b/Src/Merge.rc
@@ -241,7 +241,7 @@ BEGIN
MENUITEM "1280x800", ID_WEB_SIZE_1280x800
MENUITEM "1440x900", ID_WEB_SIZE_1440x900
END
- POPUP "&Event Synchronization"
+ POPUP "&Event Sync"
BEGIN
MENUITEM "&Enabled", ID_WEB_SYNC_ENABLED
MENUITEM SEPARATOR
@@ -2342,22 +2342,6 @@ BEGIN
CONTROL "",IDC_LIST_FILE,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,0,0,309,176
END
-IDD_WEBPAGEDIFF_BAR DIALOGEX 0, 0, 714, 18
-STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- CONTROL "Compare",IDC_COMPARE,"Button",BS_SPLITBUTTON | WS_TABSTOP,6,2,72,14
- CONTROL "",IDC_FITTOWINDOW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,84,2,14,14
- EDITTEXT IDC_WIDTH,98,2,32,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT
- LTEXT "x",-1,134,4,8,10
- EDITTEXT IDC_HEIGHT,140,2,32,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT
- EDITTEXT IDC_ZOOM,178,2,32,14,ES_AUTOHSCROLL,WS_EX_RIGHT
- LTEXT "UA:",-1,214,4,16,10
- EDITTEXT IDC_USERAGENT,230,2,128,14,ES_AUTOHSCROLL
- CONTROL "&Event Synchronization",IDC_SYNC_EVENTS,"Button",BS_SPLITBUTTON | WS_TABSTOP,362,2,106,14
- CONTROL "View &Differences",IDC_SHOWDIFFERENCES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,472,2,96,14
-END
-
/////////////////////////////////////////////////////////////////////////////
//
@@ -4243,6 +4227,7 @@ END
STRINGTABLE
BEGIN
IDS_WEBPAGE_COMPARING "Comparing..."
+ IDS_WEBPAGE_ZOOM "Zoom:"
END
#endif // English (United States) resources
diff --git a/Src/Merge.vcxproj b/Src/Merge.vcxproj
index 910ecfe8bca..fdfa472f1ea 100644
--- a/Src/Merge.vcxproj
+++ b/Src/Merge.vcxproj
@@ -1412,7 +1412,6 @@
pch.h
$(IntDir)$(TargetName)2.pch
-
@@ -1641,7 +1640,6 @@
-
diff --git a/Src/Merge.vcxproj.filters b/Src/Merge.vcxproj.filters
index 238c553c55f..527b1cfb21b 100644
--- a/Src/Merge.vcxproj.filters
+++ b/Src/Merge.vcxproj.filters
@@ -705,9 +705,6 @@
MFCGui\PropertyPages\Source Files
-
- MFCGui\MDIChild\WebPageCompare\Source Files
-
Source Files
@@ -1338,9 +1335,6 @@
MFCGui\PropertyPages\Header Files
-
- MFCGui\MDIChild\WebPageCompare\Header Files
-
Header Files
diff --git a/Src/Merge2.rc b/Src/Merge2.rc
index da236ad2eb3..47c8ece4696 100644
--- a/Src/Merge2.rc
+++ b/Src/Merge2.rc
@@ -235,7 +235,7 @@ BEGIN
VALUE "FileDescription", "WinMerge\0"
VALUE "FileVersion", STRFILEVER
VALUE "InternalName", "WinMerge\0"
- VALUE "LegalCopyright", "(c) 1996-2023 Dean P. Grimm / Thingamahoochie Software\0"
+ VALUE "LegalCopyright", "(c) 1996-2024 Dean P. Grimm / Thingamahoochie Software\0"
VALUE "OriginalFilename", "WinMergeU.EXE\0"
VALUE "PrivateBuild", STRPRIVATEBUILD
VALUE "ProductName", "WinMerge\0"
diff --git a/Src/WebPageDiffBar.cpp b/Src/WebPageDiffBar.cpp
deleted file mode 100644
index bd0422cb558..00000000000
--- a/Src/WebPageDiffBar.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// WebPageDiffDlg.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "WebPageDiffBar.h"
-#include "MergeApp.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CWebPageDiffBar dialog
-
-
-CWebPageDiffBar::CWebPageDiffBar()
-{
- //{{AFX_DATA_INIT(CWebPageDiffBar)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
-}
-
-
-void CWebPageDiffBar::DoDataExchange(CDataExchange* pDX)
-{
- CDialogBar::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CWebPageDiffBar)
- // NOTE: the ClassWizard will add DDX and DDV calls here
- //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CWebPageDiffBar, CTrDialogBar)
- //{{AFX_MSG_MAP(CWebPageDiffBar)
- ON_UPDATE_COMMAND_UI(IDC_COMPARE, OnUpdateBnClickedCompare)
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CWebPageDiffBar message handlers
-
-BOOL CWebPageDiffBar::Create(CWnd *pParentWnd)
-{
- if (! CTrDialogBar::Create(pParentWnd, CWebPageDiffBar::IDD,
- CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY, CWebPageDiffBar::IDD))
- return FALSE;
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-void CWebPageDiffBar::OnUpdateBnClickedCompare(CCmdUI* pCmdUI)
-{
- pCmdUI->Enable(true);
-}
diff --git a/Src/WebPageDiffBar.h b/Src/WebPageDiffBar.h
deleted file mode 100644
index 49ff8386054..00000000000
--- a/Src/WebPageDiffBar.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// WebPageDiffBar.h : header file
-//
-
-#pragma once
-
-#include "TrDialogs.h"
-
-/////////////////////////////////////////////////////////////////////////////
-// CWebPageDiffBar dialog
-
-class CWebPageDiffBar : public CTrDialogBar
-{
-// Construction
-public:
- CWebPageDiffBar();
-
- BOOL Create(CWnd* pParentWnd);
-
-// Dialog Data
- //{{AFX_DATA(CWebPageDiffBar)
- enum { IDD = IDD_WEBPAGEDIFF_BAR };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CWebPageDiffBar)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(CWebPageDiffBar)
- afx_msg void OnUpdateBnClickedCompare(CCmdUI* pCmdUI);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-private:
-
-public:
-};
diff --git a/Src/WebPageDiffFrm.cpp b/Src/WebPageDiffFrm.cpp
index fd54a316b51..400272a76b7 100644
--- a/Src/WebPageDiffFrm.cpp
+++ b/Src/WebPageDiffFrm.cpp
@@ -127,21 +127,6 @@ BEGIN_MESSAGE_MAP(CWebPageDiffFrame, CMergeFrameCommon)
ON_COMMAND_RANGE(ID_NEXT_PANE, ID_PREV_PANE, OnWindowChangePane)
// [Help] menu
ON_COMMAND(ID_HELP, OnHelp)
- // Dialog bar
- ON_BN_CLICKED(IDC_FITTOWINDOW, OnBnClickedFitToWindow)
- ON_BN_CLICKED(IDC_SHOWDIFFERENCES, OnBnClickedShowDifferences)
- ON_BN_CLICKED(IDC_COMPARE, OnBnClickedCompare)
- ON_BN_CLICKED(IDC_SYNC_EVENTS, OnBnClickedSyncEvents)
- ON_EN_CHANGE(IDC_WIDTH, OnEnChangeWidth)
- ON_EN_CHANGE(IDC_HEIGHT, OnEnChangeHeight)
- ON_EN_CHANGE(IDC_ZOOM, OnEnChangeZoom)
- ON_EN_CHANGE(IDC_USERAGENT, OnEnChangeUserAgent)
- ON_EN_KILLFOCUS(IDC_WIDTH, OnKillFocusBarControls)
- ON_EN_KILLFOCUS(IDC_HEIGHT, OnKillFocusBarControls)
- ON_EN_KILLFOCUS(IDC_ZOOM, OnKillFocusBarControls)
- ON_EN_KILLFOCUS(IDC_USERAGENT, OnKillFocusBarControls)
- ON_NOTIFY(BCN_DROPDOWN, IDC_COMPARE, OnDropDownCompare)
- ON_NOTIFY(BCN_DROPDOWN, IDC_SYNC_EVENTS, OnDropDownSyncEvents)
// Status bar
ON_UPDATE_COMMAND_UI(ID_STATUS_DIFFNUM, OnUpdateStatusNum)
//}}AFX_MSG_MAP
@@ -157,11 +142,10 @@ CWebPageDiffFrame::CWebPageDiffFrame()
, m_pDirDoc(nullptr)
, m_bAutoMerged(false)
, m_pWebDiffWindow(nullptr)
-//, m_pWebToolWindow(nullptr)
+, m_pWebToolWindow(nullptr)
, m_nBufferType{BUFFERTYPE::NORMAL, BUFFERTYPE::NORMAL, BUFFERTYPE::NORMAL}
, m_bRO{}
, m_nActivePane(-1)
-, m_bInUpdateWebPageDiffBar(false)
, m_bCompareCompleted(false)
{
}
@@ -181,16 +165,16 @@ CWebPageDiffFrame::~CWebPageDiffFrame()
{
bool (*pfnWinWebDiff_DestroyWindow)(IWebDiffWindow *) =
(bool (*)(IWebDiffWindow *))GetProcAddress(hModule, "WinWebDiff_DestroyWindow");
-// bool (*pfnWinWebDiff_DestroyToolWindow)(IWebToolWindow *) =
-// (bool (*)(IWebToolWindow *))GetProcAddress(hModule, "WinWebDiff_DestroyToolWindow");
- if (pfnWinWebDiff_DestroyWindow != nullptr/* && pfnWinWebDiff_DestroyToolWindow != nullptr*/)
+ bool (*pfnWinWebDiff_DestroyToolWindow)(IWebToolWindow *) =
+ (bool (*)(IWebToolWindow *))GetProcAddress(hModule, "WinWebDiff_DestroyToolWindow");
+ if (pfnWinWebDiff_DestroyWindow != nullptr && pfnWinWebDiff_DestroyToolWindow != nullptr)
{
if (m_pWebDiffWindow != nullptr)
pfnWinWebDiff_DestroyWindow(m_pWebDiffWindow);
-// if (m_pWebToolWindow != nullptr)
-// pfnWinWebDiff_DestroyToolWindow(m_pWebToolWindow);
+ if (m_pWebToolWindow != nullptr)
+ pfnWinWebDiff_DestroyToolWindow(m_pWebToolWindow);
m_pWebDiffWindow = nullptr;
-// m_pWebToolWindow = nullptr;
+ m_pWebToolWindow = nullptr;
}
}
}
@@ -341,12 +325,16 @@ void CWebPageDiffFrame::OnWebDiffEvent(const WebDiffEvent& event)
}
break;
}
- case WebDiffEvent::ZoomFactorChanged:
- UpdateWebPageDiffBar();
- break;
case WebDiffEvent::CompareStateChanged:
UpdateLastCompareResult();
break;
+ case WebDiffEvent::CompareScreenshotsSelected:
+ case WebDiffEvent::CompareFullsizeScreenshotsSelected:
+ case WebDiffEvent::CompareHTMLsSelected:
+ case WebDiffEvent::CompareTextsSelected:
+ case WebDiffEvent::CompareResourceTreesSelected:
+ PostMessage(WM_COMMAND, ID_WEB_COMPARE_SCREENSHOTS + event.type - WebDiffEvent::CompareScreenshotsSelected, 0);
+ break;
}
}
@@ -475,32 +463,32 @@ BOOL CWebPageDiffFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
// Merge frame has also a dockable bar at the very left
// This is not the client area, but we create it now because we want
// to use the CCreateContext
-// String sCaption = theApp.LoadString(IDS_LOCBAR_CAPTION);
-// if (!m_wndLocationBar.Create(this, sCaption.c_str(), WS_CHILD | WS_VISIBLE, ID_VIEW_LOCATION_BAR))
-// {
-// TRACE0("Failed to create LocationBar\n");
-// return FALSE;
-// }
-//
-// IWebToolWindow * (*pfnWinWebDiff_CreateToolWindow)(HINSTANCE hInstance, HWND hWndParent, IWebDiffWindow *) =
-// (IWebToolWindow * (*)(HINSTANCE hInstance, HWND hWndParent, IWebDiffWindow *pWebPageDiffWindow))GetProcAddress(hModule, "WinWebDiff_CreateToolWindow");
-// if (pfnWinWebDiff_CreateToolWindow == nullptr ||
-// (m_pWebToolWindow = pfnWinWebDiff_CreateToolWindow(hModule, m_wndLocationBar.m_hWnd, m_pWebDiffWindow)) == nullptr)
-// {
-// return FALSE;
-// }
-//
-// m_pWebToolWindow->Translate(TranslateLocationPane);
-//
-// m_wndLocationBar.SetFrameHwnd(GetSafeHwnd());
+ String sCaption = theApp.LoadString(IDS_LOCBAR_CAPTION);
+ if (!m_wndLocationBar.Create(this, sCaption.c_str(), WS_CHILD | WS_VISIBLE, ID_VIEW_LOCATION_BAR))
+ {
+ TRACE0("Failed to create LocationBar\n");
+ return FALSE;
+ }
+
+ IWebToolWindow * (*pfnWinWebDiff_CreateToolWindow)(HINSTANCE hInstance, HWND hWndParent, IWebDiffWindow *) =
+ (IWebToolWindow * (*)(HINSTANCE hInstance, HWND hWndParent, IWebDiffWindow *pWebPageDiffWindow))GetProcAddress(hModule, "WinWebDiff_CreateToolWindow");
+ if (pfnWinWebDiff_CreateToolWindow == nullptr ||
+ (m_pWebToolWindow = pfnWinWebDiff_CreateToolWindow(hModule, m_wndLocationBar.m_hWnd, m_pWebDiffWindow)) == nullptr)
+ {
+ return FALSE;
+ }
+
+ m_pWebToolWindow->Translate(TranslateLocationPane);
+
+ m_wndLocationBar.SetFrameHwnd(GetSafeHwnd());
return TRUE;
}
-//void CWebPageDiffFrame::TranslateLocationPane(int id, const wchar_t *org, size_t dstbufsize, wchar_t *dst)
-//{
-// swprintf_s(dst, dstbufsize, L"%s", tr("WebPageDiffFrame|LocationPane", ucr::toUTF8(org)).c_str());
-//}
+void CWebPageDiffFrame::TranslateLocationPane(int id, const wchar_t *org, size_t dstbufsize, wchar_t *dst)
+{
+ swprintf_s(dst, dstbufsize, L"%s", tr(ucr::toUTF8(org)).c_str());
+}
/////////////////////////////////////////////////////////////////////////////
// CWebPageDiffFrame message handlers
@@ -515,14 +503,12 @@ int CWebPageDiffFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
CMergeFrameCommon::RemoveBarBorder();
// Merge frame has a header bar at top
- if (!m_wndWebPageDiffBar.Create(this) || !m_wndFilePathBar.Create(this))
+ if (!m_wndFilePathBar.Create(this))
{
TRACE0("Failed to create dialog bar\n");
return -1; // fail to create
}
- UpdateWebPageDiffBar();
-
m_wndFilePathBar.SetPaneCount(m_pWebDiffWindow->GetPaneCount());
m_wndFilePathBar.SetOnSetFocusCallback([&](int pane) {
if (m_nActivePane != pane)
@@ -540,27 +526,27 @@ int CWebPageDiffFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
// Merge frame also has a dockable bar at the very left
// created in OnCreateClient
- //m_wndLocationBar.SetBarStyle(m_wndLocationBar.GetBarStyle() |
- // CBRS_SIZE_DYNAMIC | CBRS_ALIGN_LEFT);
- //m_wndLocationBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
- //DockControlBar(&m_wndLocationBar, AFX_IDW_DOCKBAR_LEFT);
+ m_wndLocationBar.SetBarStyle(m_wndLocationBar.GetBarStyle() |
+ CBRS_SIZE_DYNAMIC | CBRS_ALIGN_LEFT);
+ m_wndLocationBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
+ DockControlBar(&m_wndLocationBar, AFX_IDW_DOCKBAR_LEFT);
for (int nPane = 0; nPane < m_pWebDiffWindow->GetPaneCount(); nPane++)
{
m_wndFilePathBar.SetActive(nPane, FALSE);
-// CreateWebWndStatusBar(m_wndStatusBar[nPane], CWnd::FromHandle(m_pWebDiffWindow->GetPaneHWND(nPane)));
+ CreateWebWndStatusBar(m_wndStatusBar[nPane], CWnd::FromHandle(m_pWebDiffWindow->GetPaneHWND(nPane)));
UpdateHeaderPath(nPane);
}
-// CSize size = m_wndStatusBar[0].CalcFixedLayout(TRUE, TRUE);
-// m_rectBorder.bottom = size.cy;
+ CSize size = m_wndStatusBar[0].CalcFixedLayout(TRUE, TRUE);
+ m_rectBorder.bottom = size.cy;
CDockState pDockState;
pDockState.LoadState(_T("Settings-WebPageDiffFrame"));
if (EnsureValidDockState(pDockState)) // checks for valid so won't ASSERT
SetDockState(pDockState);
// for the dimensions of the diff and location pane, use the CSizingControlBar loader
- //m_wndLocationBar.LoadState(_T("Settings-WebPageDiffFrame"));
+ m_wndLocationBar.LoadState(_T("Settings-WebPageDiffFrame"));
return 0;
}
@@ -686,7 +672,7 @@ void CWebPageDiffFrame::SavePosition()
GetDockState(m_pDockState);
m_pDockState.SaveState(_T("Settings-WebPageDiffFrame"));
// for the dimensions of the diff pane, use the CSizingControlBar save
- //m_wndLocationBar.SaveState(_T("Settings-WebPageDiffFrame"));
+ m_wndLocationBar.SaveState(_T("Settings-WebPageDiffFrame"));
}
void CWebPageDiffFrame::SaveActivePane()
@@ -937,7 +923,7 @@ CString CWebPageDiffFrame::GetTooltipString() const
*/
void CWebPageDiffFrame::UpdateResources()
{
- //m_pWebToolWindow->Translate(TranslateLocationPane);
+ m_pWebToolWindow->Translate(TranslateLocationPane);
}
void CWebPageDiffFrame::RefreshOptions()
@@ -1040,130 +1026,6 @@ LRESULT CWebPageDiffFrame::OnStorePaneSizes(WPARAM wParam, LPARAM lParam)
return 0;
}
-void CWebPageDiffFrame::UpdateWebPageDiffBar()
-{
- m_bInUpdateWebPageDiffBar = true;
- bool fitToWindow = m_pWebDiffWindow->GetFitToWindow();
- m_wndWebPageDiffBar.CheckDlgButton(IDC_FITTOWINDOW, fitToWindow);
- m_wndWebPageDiffBar.CheckDlgButton(IDC_SHOWDIFFERENCES, m_pWebDiffWindow->GetShowDifferences());
- m_wndWebPageDiffBar.EnableDlgItem(IDC_WIDTH, !fitToWindow);
- m_wndWebPageDiffBar.EnableDlgItem(IDC_HEIGHT, !fitToWindow);
- SIZE size = m_pWebDiffWindow->GetSize();
- m_wndWebPageDiffBar.SetDlgItemText(IDC_WIDTH, strutils::format(_T("%d"), size.cx));
- m_wndWebPageDiffBar.SetDlgItemText(IDC_HEIGHT, strutils::format(_T("%d"), size.cy));
- m_wndWebPageDiffBar.SetDlgItemText(IDC_ZOOM, strutils::format(_T("%.1f%%"),
- m_pWebDiffWindow->GetZoom() * 100.0));
- m_wndWebPageDiffBar.SetDlgItemText(IDC_USERAGENT, m_pWebDiffWindow->GetUserAgent());
- m_bInUpdateWebPageDiffBar = false;
-}
-
-void CWebPageDiffFrame::OnBnClickedFitToWindow()
-{
- m_pWebDiffWindow->SetFitToWindow(m_wndWebPageDiffBar.IsDlgButtonChecked(IDC_FITTOWINDOW));
- UpdateWebPageDiffBar();
-}
-
-void CWebPageDiffFrame::OnBnClickedShowDifferences()
-{
- m_pWebDiffWindow->SetShowDifferences(m_wndWebPageDiffBar.IsDlgButtonChecked(IDC_SHOWDIFFERENCES));
- UpdateWebPageDiffBar();
-}
-
-void CWebPageDiffFrame::OnBnClickedCompare()
-{
- OnRefresh();
-}
-
-void CWebPageDiffFrame::OnDropDownCompare(NMHDR *pNMHDR, LRESULT *pResult)
-{
- CRect rc;
- m_wndWebPageDiffBar.GetDlgItem(IDC_COMPARE)->GetWindowRect(&rc);
- CPoint point { rc.left, rc.bottom };
- BCMenu menuPopup;
- menuPopup.LoadMenu(MAKEINTRESOURCE(IDR_POPUP_WEBPAGE_COMPARE));
- theApp.TranslateMenu(menuPopup.m_hMenu);
- BCMenu* pPopup = (BCMenu*)menuPopup.GetSubMenu(0);
- pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
- point.x, point.y, AfxGetMainWnd());
-}
-
-void CWebPageDiffFrame::OnBnClickedSyncEvents()
-{
- CRect rc;
- m_wndWebPageDiffBar.GetDlgItem(IDC_SYNC_EVENTS)->GetWindowRect(&rc);
- CPoint point { rc.left, rc.bottom };
- BCMenu menuPopup;
- menuPopup.LoadMenu(MAKEINTRESOURCE(IDR_POPUP_WEBPAGE_SYNC_EVENTS));
- theApp.TranslateMenu(menuPopup.m_hMenu);
- BCMenu* pPopup = (BCMenu*)menuPopup.GetSubMenu(0);
- pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
- point.x, point.y, AfxGetMainWnd());
-}
-
-void CWebPageDiffFrame::OnDropDownSyncEvents(NMHDR *pNMHDR, LRESULT *pResult)
-{
- OnBnClickedSyncEvents();
-}
-
-void CWebPageDiffFrame::OnEnChangeWidth()
-{
- if (m_bInUpdateWebPageDiffBar)
- return;
- String text;
- m_wndWebPageDiffBar.GetDlgItemText(IDC_WIDTH, text);
- int v = tc::ttoi(text.c_str());
- if (v > 0 && v < 32678)
- {
- SIZE size = m_pWebDiffWindow->GetSize();
- size.cx = v;
- m_pWebDiffWindow->SetSize(size);
- }
-}
-
-void CWebPageDiffFrame::OnEnChangeHeight()
-{
- if (m_bInUpdateWebPageDiffBar)
- return;
- String text;
- m_wndWebPageDiffBar.GetDlgItemText(IDC_HEIGHT, text);
- int v = tc::ttoi(text.c_str());
- if (v > 0 && v < 32678)
- {
- SIZE size = m_pWebDiffWindow->GetSize();
- size.cy = v;
- m_pWebDiffWindow->SetSize(size);
- }
-}
-
-void CWebPageDiffFrame::OnEnChangeZoom()
-{
- if (m_bInUpdateWebPageDiffBar)
- return;
- String text;
- m_wndWebPageDiffBar.GetDlgItemText(IDC_ZOOM, text);
- tchar_t* endptr = nullptr;
- double v = tc::tcstod(text.c_str(), &endptr);
- if ((* endptr == '\0' || *endptr == '%') && v >= 25.0 && v <= 500.0)
- m_pWebDiffWindow->SetZoom(v / 100.0);
-}
-
-void CWebPageDiffFrame::OnEnChangeUserAgent()
-{
- if (m_bInUpdateWebPageDiffBar)
- return;
- String text;
- m_wndWebPageDiffBar.GetDlgItemText(IDC_USERAGENT, text);
- m_pWebDiffWindow->SetUserAgent(text.c_str());
-}
-
-void CWebPageDiffFrame::OnKillFocusBarControls()
-{
- UpdateWebPageDiffBar();
- SaveOptions();
- CString text;
- m_wndFilePathBar.GetDlgItemTextW(IDC_USERAGENT, text);
-}
-
void CWebPageDiffFrame::OnUpdateStatusNum(CCmdUI* pCmdUI)
{
tchar_t sIdx[32] = { 0 };
@@ -1469,7 +1331,7 @@ void CWebPageDiffFrame::OnWebFitToWindow()
{
m_pWebDiffWindow->SetFitToWindow(true);
SaveOptions();
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
}
void CWebPageDiffFrame::OnUpdateWebFitToWindow(CCmdUI* pCmdUI)
@@ -1484,30 +1346,30 @@ void CWebPageDiffFrame::OnWebSize(UINT nID)
case ID_WEB_SIZE_320x512:
m_pWebDiffWindow->SetFitToWindow(false);
m_pWebDiffWindow->SetSize({ 320, 512 });
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
break;
case ID_WEB_SIZE_375x600:
m_pWebDiffWindow->SetFitToWindow(false);
m_pWebDiffWindow->SetSize({ 375, 600 });
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
break;
case ID_WEB_SIZE_1024x640:
m_pWebDiffWindow->SetFitToWindow(false);
m_pWebDiffWindow->SetSize({ 1024, 640 });
SaveOptions();
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
break;
case ID_WEB_SIZE_1280x800:
m_pWebDiffWindow->SetFitToWindow(false);
m_pWebDiffWindow->SetSize({ 1280, 800 });
SaveOptions();
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
break;
case ID_WEB_SIZE_1440x900:
m_pWebDiffWindow->SetFitToWindow(false);
m_pWebDiffWindow->SetSize({ 1440, 900 });
SaveOptions();
- UpdateWebPageDiffBar();
+ m_pWebToolWindow->Sync();
break;
}
}
diff --git a/Src/WebPageDiffFrm.h b/Src/WebPageDiffFrm.h
index 06d099092fb..00591d3ee95 100644
--- a/Src/WebPageDiffFrm.h
+++ b/Src/WebPageDiffFrm.h
@@ -12,7 +12,6 @@
#include "IMergeDoc.h"
#include "WinWebDiffLib.h"
#include "LocationBar.h"
-#include "WebPageDiffBar.h"
#include "FileLocation.h"
#include "MergeFrameCommon.h"
#include "FileTransform.h"
@@ -103,14 +102,12 @@ class CWebPageDiffFrame : public CMergeFrameCommon,public IMergeDoc
void UpdateHeaderPath(int pane);
void SetTitle(LPCTSTR lpszTitle);
bool MergeModeKeyDown(MSG* pMsg);
- void UpdateWebPageDiffBar();
- //static void TranslateLocationPane(int id, const wchar_t *org, size_t dstbufsize, wchar_t *dst);
+ static void TranslateLocationPane(int id, const wchar_t *org, size_t dstbufsize, wchar_t *dst);
private:
- CWebPageDiffBar m_wndWebPageDiffBar;
CLocationBar m_wndLocationBar;
IWebDiffWindow *m_pWebDiffWindow;
- //IWebToolWindow *m_pWebToolWindow;
+ IWebToolWindow *m_pWebToolWindow;
PathContext m_filePaths;
String m_strDesc[3];
BUFFERTYPE m_nBufferType[3];
@@ -197,17 +194,6 @@ class CWebPageDiffFrame : public CMergeFrameCommon,public IMergeDoc
afx_msg void OnRefresh();
afx_msg void OnSetFocus(CWnd *pNewWnd);
afx_msg void OnHelp();
- afx_msg void OnBnClickedFitToWindow();
- afx_msg void OnBnClickedShowDifferences();
- afx_msg void OnBnClickedCompare();
- afx_msg void OnBnClickedSyncEvents();
- afx_msg void OnEnChangeWidth();
- afx_msg void OnEnChangeHeight();
- afx_msg void OnEnChangeZoom();
- afx_msg void OnEnChangeUserAgent();
- afx_msg void OnKillFocusBarControls();
- afx_msg void OnDropDownCompare(NMHDR* pNMHDR, LRESULT* pResult);
- afx_msg void OnDropDownSyncEvents(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
diff --git a/Src/WinWebDiffLib.h b/Src/WinWebDiffLib.h
index e4e29a215f4..2e450b2e3de 100644
--- a/Src/WinWebDiffLib.h
+++ b/Src/WinWebDiffLib.h
@@ -6,7 +6,7 @@
struct WebDiffEvent
{
- enum EVENT_TYPE { ZoomFactorChanged, NewWindowRequested, WindowCloseRequested, NavigationStarting, FrameNavigationStarting, HistoryChanged, SourceChanged, DocumentTitleChanged, NavigationCompleted, FrameNavigationCompleted, WebMessageReceived, FrameWebMessageReceived, GoBacked, GoForwarded, TabChanged, HSCROLL, VSCROLL, CompareStateChanged };
+ enum EVENT_TYPE { ZoomFactorChanged, NewWindowRequested, WindowCloseRequested, NavigationStarting, FrameNavigationStarting, HistoryChanged, SourceChanged, DocumentTitleChanged, NavigationCompleted, FrameNavigationCompleted, WebMessageReceived, FrameWebMessageReceived, GoBacked, GoForwarded, TabChanged, HSCROLL, VSCROLL, CompareStateChanged, CompareScreenshotsSelected, CompareFullsizeScreenshotsSelected, CompareHTMLsSelected, CompareTextsSelected, CompareResourceTreesSelected, DiffSelected };
EVENT_TYPE type;
int pane;
};
@@ -191,11 +191,21 @@ struct IWebDiffWindow
virtual bool GetSyncEventFlag(EventType event) const = 0;
virtual void SetSyncEventFlag(EventType event, bool flag) = 0;
virtual CompareState GetCompareState() const = 0;
+ virtual void RaiseEvent(const WebDiffEvent& e) = 0;
+};
+
+struct IWebToolWindow
+{
+ using TranslateCallback = void(*)(int id, const wchar_t *org, size_t dstbufsize, wchar_t *dst);
+ virtual HWND GetHWND() const = 0;
+ virtual void Sync() = 0;
+ virtual void Translate(TranslateCallback translateCallback) = 0;
};
extern "C"
{
IWebDiffWindow* WinWebDiff_CreateWindow(HINSTANCE hInstance, HWND hWndParent, int nID = 0);
bool WinWebDiff_DestroyWindow(IWebDiffWindow* pWebDiffWindow);
+ IWebToolWindow * WinWebDiff_CreateToolWindow(HINSTANCE hInstance, HWND hWndParent, IWebDiffWindow *pWebDiffWindow);
+ bool WinWebDiff_DestroyToolWindow(IWebToolWindow *pWebToolWindow);
};
-
diff --git a/Src/resource.h b/Src/resource.h
index bbd1f4fd3c0..7a24fd448bc 100644
--- a/Src/resource.h
+++ b/Src/resource.h
@@ -80,7 +80,6 @@
#define IDD_EDIT_FIND 282
#define IDD_EDIT_MARKER 283
#define IDD_EDIT_REPLACE 284
-#define IDD_WEBPAGEDIFF_BAR 285
#define IDI_ROTATE2 302
#define IDR_LOGO 307
#define IDR_SPLASH 308
@@ -1661,6 +1660,7 @@
#define IDS_PREVIEWBAR_ZOOMOUT 44537
#define IDS_PREVIEWBAR_CLOSE 44538
#define IDS_WEBPAGE_COMPARING 44539
+#define IDS_WEBPAGE_ZOOM 44540
// Next default values for new objects
diff --git a/Translations/WinMerge/Arabic.po b/Translations/WinMerge/Arabic.po
index e57c127f28e..51e2497757f 100644
--- a/Translations/WinMerge/Arabic.po
+++ b/Translations/WinMerge/Arabic.po
@@ -245,7 +245,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4059,6 +4059,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Basque.po b/Translations/WinMerge/Basque.po
index f53d694c3a9..2c1e5144af5 100644
--- a/Translations/WinMerge/Basque.po
+++ b/Translations/WinMerge/Basque.po
@@ -273,7 +273,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4664,6 +4664,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Brazilian.po b/Translations/WinMerge/Brazilian.po
index 5a391a914fa..b0a71b5ea5e 100644
--- a/Translations/WinMerge/Brazilian.po
+++ b/Translations/WinMerge/Brazilian.po
@@ -244,8 +244,8 @@ msgstr "Tamanho"
msgid "Fit to Window"
msgstr "Ajustar à Janela"
-msgid "&Event Synchronization"
-msgstr "Sincronização de &Eventos"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "Habilitado"
@@ -3741,6 +3741,9 @@ msgstr "Menos Zoom"
msgid "Comparing..."
msgstr "Comparando..."
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Embelezamento"
diff --git a/Translations/WinMerge/Bulgarian.po b/Translations/WinMerge/Bulgarian.po
index e99002a1eb7..246b5bb7d96 100644
--- a/Translations/WinMerge/Bulgarian.po
+++ b/Translations/WinMerge/Bulgarian.po
@@ -241,7 +241,7 @@ msgstr ""
msgid "Fit to Window"
msgstr "Запълване на прозореца"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4120,6 +4120,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Catalan.po b/Translations/WinMerge/Catalan.po
index 2db683d7543..5dd9bc02492 100644
--- a/Translations/WinMerge/Catalan.po
+++ b/Translations/WinMerge/Catalan.po
@@ -270,7 +270,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4823,6 +4823,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Embellir"
diff --git a/Translations/WinMerge/ChineseSimplified.po b/Translations/WinMerge/ChineseSimplified.po
index a529f0f1806..1ad746999d2 100644
--- a/Translations/WinMerge/ChineseSimplified.po
+++ b/Translations/WinMerge/ChineseSimplified.po
@@ -248,8 +248,8 @@ msgstr "大小(&S)"
msgid "Fit to Window"
msgstr "适应窗口"
-msgid "&Event Synchronization"
-msgstr "事件同步(&E)"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "已启用(&E)"
@@ -4174,6 +4174,9 @@ msgstr "缩小(&O)"
msgid "Comparing..."
msgstr "比较中..."
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "格式美化"
diff --git a/Translations/WinMerge/ChineseTraditional.po b/Translations/WinMerge/ChineseTraditional.po
index 2f0ce37e1e7..42b30c3386c 100644
--- a/Translations/WinMerge/ChineseTraditional.po
+++ b/Translations/WinMerge/ChineseTraditional.po
@@ -272,7 +272,7 @@ msgstr "大小(&S)"
msgid "Fit to Window"
msgstr "自適應視窗(&F)"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4823,6 +4823,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "美化"
diff --git a/Translations/WinMerge/Corsican.po b/Translations/WinMerge/Corsican.po
index d4a8386cb77..6ad6b131b28 100644
--- a/Translations/WinMerge/Corsican.po
+++ b/Translations/WinMerge/Corsican.po
@@ -246,8 +246,8 @@ msgstr "&Dimensione"
msgid "Fit to Window"
msgstr "Adattà à a finestra"
-msgid "&Event Synchronization"
-msgstr "&Sincrunizazione d’evenimentu"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Attivatu"
@@ -4138,6 +4138,9 @@ msgstr "Ingrandamentu &menu forte"
msgid "Comparing..."
msgstr "Paragone…"
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Imbellimentu"
diff --git a/Translations/WinMerge/Croatian.po b/Translations/WinMerge/Croatian.po
index f70953b790e..75e11fa40cb 100644
--- a/Translations/WinMerge/Croatian.po
+++ b/Translations/WinMerge/Croatian.po
@@ -270,7 +270,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4663,6 +4663,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Czech.po b/Translations/WinMerge/Czech.po
index acb3ae1570d..33d959714c6 100644
--- a/Translations/WinMerge/Czech.po
+++ b/Translations/WinMerge/Czech.po
@@ -270,7 +270,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4596,6 +4596,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Danish.po b/Translations/WinMerge/Danish.po
index 96967d3ced2..5ec6e811342 100644
--- a/Translations/WinMerge/Danish.po
+++ b/Translations/WinMerge/Danish.po
@@ -271,7 +271,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4701,6 +4701,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Dutch.po b/Translations/WinMerge/Dutch.po
index 1cae592b354..e5df665be47 100644
--- a/Translations/WinMerge/Dutch.po
+++ b/Translations/WinMerge/Dutch.po
@@ -244,7 +244,7 @@ msgstr "Grootte"
msgid "Fit to Window"
msgstr "Passend op scherm"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4124,6 +4124,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Mooi maken"
diff --git a/Translations/WinMerge/English.pot b/Translations/WinMerge/English.pot
index 756ea19fa8e..e0b9aacd8db 100644
--- a/Translations/WinMerge/English.pot
+++ b/Translations/WinMerge/English.pot
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WinMerge\n"
"Report-Msgid-Bugs-To: https://bugs.winmerge.org/\n"
-"POT-Creation-Date: 2023-12-28 07:26+0000\n"
+"POT-Creation-Date: 2023-12-30 17:35+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: English \n"
@@ -238,7 +238,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -3735,6 +3735,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Finnish.po b/Translations/WinMerge/Finnish.po
index 67d96619047..30a14424d0b 100644
--- a/Translations/WinMerge/Finnish.po
+++ b/Translations/WinMerge/Finnish.po
@@ -244,7 +244,7 @@ msgstr "&Koko"
msgid "Fit to Window"
msgstr "Sovita ikkunaan"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4161,6 +4161,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Kaunistelu"
diff --git a/Translations/WinMerge/French.po b/Translations/WinMerge/French.po
index 3b190ecdd17..bb6c8b9e29c 100644
--- a/Translations/WinMerge/French.po
+++ b/Translations/WinMerge/French.po
@@ -278,8 +278,8 @@ msgstr "&Taille"
msgid "Fit to Window"
msgstr "Ajuster à la fenêtre"
-msgid "&Event Synchronization"
-msgstr "&Synchronisation des événements"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Activée"
@@ -4853,6 +4853,9 @@ msgstr "Zoom a&rrière"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Embellissement"
diff --git a/Translations/WinMerge/Galician.po b/Translations/WinMerge/Galician.po
index 9a08f8b4261..4a2df9f9fe9 100644
--- a/Translations/WinMerge/Galician.po
+++ b/Translations/WinMerge/Galician.po
@@ -245,8 +245,8 @@ msgstr "&Tamaño"
msgid "Fit to Window"
msgstr "Axustar á ventá"
-msgid "&Event Synchronization"
-msgstr "Sincronización de &eventos"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Habilitado"
@@ -4128,6 +4128,9 @@ msgstr "Reducir z&oom"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Melloras"
diff --git a/Translations/WinMerge/German.po b/Translations/WinMerge/German.po
index 458787f16de..9f12f2f0d71 100644
--- a/Translations/WinMerge/German.po
+++ b/Translations/WinMerge/German.po
@@ -273,7 +273,7 @@ msgstr "&Größe"
msgid "Fit to Window"
msgstr "An Fenster anpassen"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4459,6 +4459,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Verschönerung"
diff --git a/Translations/WinMerge/Greek.po b/Translations/WinMerge/Greek.po
index e8f03fc2be2..0a8f4c0ab16 100644
--- a/Translations/WinMerge/Greek.po
+++ b/Translations/WinMerge/Greek.po
@@ -269,7 +269,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4641,6 +4641,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Hungarian.po b/Translations/WinMerge/Hungarian.po
index d3d7258ef98..4b13391b26b 100644
--- a/Translations/WinMerge/Hungarian.po
+++ b/Translations/WinMerge/Hungarian.po
@@ -272,8 +272,8 @@ msgstr "Méret"
msgid "Fit to Window"
msgstr "Ablakhoz igazít"
-msgid "&Event Synchronization"
-msgstr "&Esemény szinkronizálás"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Engedélyezve"
@@ -4802,6 +4802,9 @@ msgstr "K&icsinyítés"
msgid "Comparing..."
msgstr "Összehasonlítás..."
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Megjelenés optimalizálás"
diff --git a/Translations/WinMerge/Italian.po b/Translations/WinMerge/Italian.po
index d4ff11b5d08..feebc848c68 100644
--- a/Translations/WinMerge/Italian.po
+++ b/Translations/WinMerge/Italian.po
@@ -242,7 +242,7 @@ msgstr "&Dimensione"
msgid "Fit to Window"
msgstr "Adatta alla finestra"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4100,6 +4100,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Japanese.po b/Translations/WinMerge/Japanese.po
index 98d623b01a5..f76a5cdf307 100644
--- a/Translations/WinMerge/Japanese.po
+++ b/Translations/WinMerge/Japanese.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: WinMerge\n"
"Report-Msgid-Bugs-To: https://bugs.winmerge.org/\n"
"POT-Creation-Date: 2020-12-05 22:07+0000\n"
-"PO-Revision-Date: 2023-12-28 08:08+0900\n"
+"PO-Revision-Date: 2023-12-30 17:50+0900\n"
"Last-Translator: Takashi Sawanaka \n"
"Language-Team: Japanese \n"
"Language: ja\n"
@@ -243,7 +243,7 @@ msgstr "サイズ(&S)"
msgid "Fit to Window"
msgstr "ウインドウに合わせる"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr "イベント同期(&E)"
msgid "&Enabled"
@@ -4129,6 +4129,9 @@ msgstr "縮小(&O)"
msgid "Comparing..."
msgstr "比較しています..."
+msgid "Zoom:"
+msgstr "拡大率:"
+
msgid "Prettification"
msgstr "整形"
diff --git a/Translations/WinMerge/Korean.po b/Translations/WinMerge/Korean.po
index 8da0b3122b4..7f37080741e 100644
--- a/Translations/WinMerge/Korean.po
+++ b/Translations/WinMerge/Korean.po
@@ -279,8 +279,8 @@ msgstr "크기(&S)"
msgid "Fit to Window"
msgstr "창에 맞춤"
-msgid "&Event Synchronization"
-msgstr "이벤트 동기화(&E)"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "사용함(&E)"
@@ -4848,6 +4848,9 @@ msgstr "축소(&O)"
msgid "Comparing..."
msgstr "비교 중..."
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "꾸미기"
diff --git a/Translations/WinMerge/Lithuanian.po b/Translations/WinMerge/Lithuanian.po
index 0696b357e85..6fd8546b323 100644
--- a/Translations/WinMerge/Lithuanian.po
+++ b/Translations/WinMerge/Lithuanian.po
@@ -244,8 +244,8 @@ msgstr "Dydi&s"
msgid "Fit to Window"
msgstr "Talpinti į langą"
-msgid "&Event Synchronization"
-msgstr "Įvykių sinchronizavimas"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "Į&jungta"
@@ -3741,6 +3741,9 @@ msgstr "Mažin&ti"
msgid "Comparing..."
msgstr "Lygina..."
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Sutvarkymas"
diff --git a/Translations/WinMerge/Norwegian.po b/Translations/WinMerge/Norwegian.po
index 2ef5ed4468a..48280721bec 100644
--- a/Translations/WinMerge/Norwegian.po
+++ b/Translations/WinMerge/Norwegian.po
@@ -243,7 +243,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4131,6 +4131,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Persian.po b/Translations/WinMerge/Persian.po
index d7e1724d668..9d7aca24a62 100644
--- a/Translations/WinMerge/Persian.po
+++ b/Translations/WinMerge/Persian.po
@@ -271,7 +271,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4710,6 +4710,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Polish.po b/Translations/WinMerge/Polish.po
index a047dd40f33..6dba1f8722d 100644
--- a/Translations/WinMerge/Polish.po
+++ b/Translations/WinMerge/Polish.po
@@ -245,8 +245,8 @@ msgstr "Rozmiar"
msgid "Fit to Window"
msgstr "Dopasuj do okna"
-msgid "&Event Synchronization"
-msgstr "Synchronizacja zdarzeń"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "Włączona"
@@ -3742,6 +3742,9 @@ msgstr "Pomniejsz"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Upiększanie"
diff --git a/Translations/WinMerge/Portuguese.po b/Translations/WinMerge/Portuguese.po
index 30bc9ed025a..7e2a5363e6e 100644
--- a/Translations/WinMerge/Portuguese.po
+++ b/Translations/WinMerge/Portuguese.po
@@ -245,8 +245,8 @@ msgstr "Tamanho"
msgid "Fit to Window"
msgstr "Ajustar à janela"
-msgid "&Event Synchronization"
-msgstr "Sincronização de &eventos"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Ativado"
@@ -4136,6 +4136,9 @@ msgstr "&Reduzir"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Embelezamento"
diff --git a/Translations/WinMerge/Romanian.po b/Translations/WinMerge/Romanian.po
index 3c05c6117a3..c05ac0d7404 100644
--- a/Translations/WinMerge/Romanian.po
+++ b/Translations/WinMerge/Romanian.po
@@ -243,7 +243,7 @@ msgstr "Mărime"
msgid "Fit to Window"
msgstr "Ajustează la fereastră"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4218,6 +4218,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Înfrumusețare"
diff --git a/Translations/WinMerge/Russian.po b/Translations/WinMerge/Russian.po
index 2b0bd54d8d8..7e7f90a17a4 100644
--- a/Translations/WinMerge/Russian.po
+++ b/Translations/WinMerge/Russian.po
@@ -246,7 +246,7 @@ msgstr "&Размер"
msgid "Fit to Window"
msgstr "Подогнать по окну"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -3743,6 +3743,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Приукрашивание"
diff --git a/Translations/WinMerge/Serbian.po b/Translations/WinMerge/Serbian.po
index bd790340836..bb8584e3cbe 100644
--- a/Translations/WinMerge/Serbian.po
+++ b/Translations/WinMerge/Serbian.po
@@ -269,7 +269,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4635,6 +4635,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Sinhala.po b/Translations/WinMerge/Sinhala.po
index 44e00f9a036..ae2d73f9888 100644
--- a/Translations/WinMerge/Sinhala.po
+++ b/Translations/WinMerge/Sinhala.po
@@ -270,7 +270,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4664,6 +4664,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""
diff --git a/Translations/WinMerge/Slovak.po b/Translations/WinMerge/Slovak.po
index b7beaa96596..c191ace9aa5 100644
--- a/Translations/WinMerge/Slovak.po
+++ b/Translations/WinMerge/Slovak.po
@@ -244,7 +244,7 @@ msgstr ""
msgid "Fit to Window"
msgstr ""
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4103,6 +4103,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Prikrášlenie"
diff --git a/Translations/WinMerge/Slovenian.po b/Translations/WinMerge/Slovenian.po
index f2a60d7c623..c5ad29d5f1c 100644
--- a/Translations/WinMerge/Slovenian.po
+++ b/Translations/WinMerge/Slovenian.po
@@ -244,8 +244,8 @@ msgstr "&Velikost"
msgid "Fit to Window"
msgstr "Prilagodi oknu"
-msgid "&Event Synchronization"
-msgstr "Sinhronizacija do&godkov"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "O&mogočeno"
@@ -4126,6 +4126,9 @@ msgstr "Pom&njšaj"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Polepšanje"
diff --git a/Translations/WinMerge/Spanish.po b/Translations/WinMerge/Spanish.po
index 9a99a57ad84..dc1b47c5c14 100644
--- a/Translations/WinMerge/Spanish.po
+++ b/Translations/WinMerge/Spanish.po
@@ -247,8 +247,8 @@ msgstr "T&amaño"
msgid "Fit to Window"
msgstr "Ajustar a la ventana"
-msgid "&Event Synchronization"
-msgstr "Sincronización de &eventos"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Habilitado"
@@ -4130,6 +4130,9 @@ msgstr "Reducir z&oom"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Mejoras"
diff --git a/Translations/WinMerge/Swedish.po b/Translations/WinMerge/Swedish.po
index ab16844e7fe..b8bac13b5af 100644
--- a/Translations/WinMerge/Swedish.po
+++ b/Translations/WinMerge/Swedish.po
@@ -246,7 +246,7 @@ msgstr "Storlek"
msgid "Fit to Window"
msgstr "Passa till fönster"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4208,6 +4208,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Finputsning"
diff --git a/Translations/WinMerge/Tamil.po b/Translations/WinMerge/Tamil.po
index 08453ebf250..9a46f0fb4f5 100644
--- a/Translations/WinMerge/Tamil.po
+++ b/Translations/WinMerge/Tamil.po
@@ -242,7 +242,7 @@ msgstr "&அளவு"
msgid "Fit to Window"
msgstr "சாளரத்தில் பொருத்து"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4125,6 +4125,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "அழகானமாக்கல்"
diff --git a/Translations/WinMerge/Turkish.po b/Translations/WinMerge/Turkish.po
index 803662080a1..ca207298a97 100644
--- a/Translations/WinMerge/Turkish.po
+++ b/Translations/WinMerge/Turkish.po
@@ -243,8 +243,8 @@ msgstr "&Boyut"
msgid "Fit to Window"
msgstr "&Pencereye sığdır"
-msgid "&Event Synchronization"
-msgstr "&Etkinlik eşitleme"
+msgid "&Event Sync"
+msgstr ""
msgid "&Enabled"
msgstr "&Açık"
@@ -3740,6 +3740,9 @@ msgstr "&Uzaklaştır"
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr "Sadeleştirme"
diff --git a/Translations/WinMerge/Ukrainian.po b/Translations/WinMerge/Ukrainian.po
index 81ff630af9e..ecc0c639fb3 100644
--- a/Translations/WinMerge/Ukrainian.po
+++ b/Translations/WinMerge/Ukrainian.po
@@ -254,7 +254,7 @@ msgstr "&Розмір"
msgid "Fit to Window"
msgstr "Припасувати до вікна"
-msgid "&Event Synchronization"
+msgid "&Event Sync"
msgstr ""
msgid "&Enabled"
@@ -4650,6 +4650,9 @@ msgstr ""
msgid "Comparing..."
msgstr ""
+msgid "Zoom:"
+msgstr ""
+
msgid "Prettification"
msgstr ""