Index: src/ch/CDragDropComboEx.cpp =================================================================== diff -u -N --- src/ch/CDragDropComboEx.cpp (revision 0) +++ src/ch/CDragDropComboEx.cpp (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -0,0 +1,72 @@ +// ============================================================================ +// Copyright (C) 2001-2016 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#include "stdafx.h" +#include "CDragDropComboEx.h" + +BEGIN_MESSAGE_MAP(CDragDropComboEx, CComboBoxEx) + ON_WM_DROPFILES() +END_MESSAGE_MAP() + +CDragDropComboEx::CDragDropComboEx() : CComboBoxEx() +{ +} + +void CDragDropComboEx::PreSubclassWindow() +{ + DragAcceptFiles(TRUE); +} + +void CDragDropComboEx::OnDropFiles(HDROP hDrop) +{ + UINT uiPathsCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); + + wchar_t szFilename[ MAX_PATH + 1 ]; + for(UINT iIndex = 0; iIndex < uiPathsCount; ++iIndex) + { + if(DragQueryFile(hDrop, iIndex, szFilename, MAX_PATH + 1) != 0) + { + DWORD dwAttributes = GetFileAttributes(szFilename); + if(dwAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + SetPath(szFilename); + break; + } + } + } + + DragFinish(hDrop); +} + +void CDragDropComboEx::SetPath(const CString& strPath) +{ + // set current select to -1 + SetCurSel(-1); + + SHFILEINFO sfi; + sfi.iIcon = -1; + SHGetFileInfo(strPath, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SMALLICON | SHGFI_SYSICONINDEX); + + COMBOBOXEXITEM cbi; + cbi.mask = CBEIF_TEXT | CBEIF_IMAGE; + cbi.iItem = -1; + cbi.pszText = (PTSTR)(PCTSTR)strPath; + cbi.iImage = sfi.iIcon; + + SetItem(&cbi); +} Index: src/ch/CDragDropComboEx.h =================================================================== diff -u -N --- src/ch/CDragDropComboEx.h (revision 0) +++ src/ch/CDragDropComboEx.h (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -0,0 +1,38 @@ +// ============================================================================ +// Copyright (C) 2001-2016 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __CDRAGDROPCOMBOEX_H__ +#define __CDRAGDROPCOMBOEX_H__ + +class CDragDropComboEx : public CComboBoxEx +{ +public: + CDragDropComboEx(); + + void SetPath(const CString& strPath); + +protected: + afx_msg void OnDropFiles(HDROP hDrop); + + virtual void PreSubclassWindow(); + +private: + DECLARE_MESSAGE_MAP(); +}; + +#endif Index: src/ch/CDragDropListCtrl.cpp =================================================================== diff -u -N --- src/ch/CDragDropListCtrl.cpp (revision 0) +++ src/ch/CDragDropListCtrl.cpp (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -0,0 +1,70 @@ +// ============================================================================ +// Copyright (C) 2001-2016 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#include "stdafx.h" +#include "CDragDropListCtrl.h" + +BEGIN_MESSAGE_MAP(CDragDropListCtrl, CListCtrl) + ON_WM_DROPFILES() +END_MESSAGE_MAP() + +CDragDropListCtrl::CDragDropListCtrl() : + CListCtrl() +{ +} + +void CDragDropListCtrl::PreSubclassWindow() +{ + // some styles + SetExtendedStyle(GetExtendedStyle() | LVS_EX_FULLROWSELECT); + + DragAcceptFiles(TRUE); +} + +void CDragDropListCtrl::OnDropFiles(HDROP hDrop) +{ + UINT uiPathsCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); + + wchar_t szFilename[MAX_PATH + 1]; + for(UINT iIndex = 0; iIndex < uiPathsCount; ++iIndex) + { + if(DragQueryFile(hDrop, iIndex, szFilename, MAX_PATH + 1) != 0) + AddPath(szFilename); + } + + DragFinish(hDrop); +} + +void CDragDropListCtrl::AddPath(const CString& strPath) +{ + // fill listbox with paths + LVITEM lvi; + lvi.mask = LVIF_TEXT | LVIF_IMAGE; + lvi.iItem = GetItemCount(); + lvi.iSubItem = 0; + + // there's no need for a high speed so get the images + SHFILEINFO sfi; + SHGetFileInfo(strPath, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON); + + // fill the list + lvi.pszText = (PTSTR)(PCTSTR)strPath; + lvi.cchTextMax = lstrlen(lvi.pszText); + lvi.iImage = sfi.iIcon; + InsertItem(&lvi); +} Index: src/ch/CDragDropListCtrl.h =================================================================== diff -u -N --- src/ch/CDragDropListCtrl.h (revision 0) +++ src/ch/CDragDropListCtrl.h (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -0,0 +1,38 @@ +// ============================================================================ +// Copyright (C) 2001-2016 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __CDRAGDROPLISTCTRL_H__ +#define __CDRAGDROPLISTCTRL_H__ + +class CDragDropListCtrl : public CListCtrl +{ +public: + CDragDropListCtrl(); + + void AddPath(const CString& strPath); + +protected: + afx_msg void OnDropFiles(HDROP hDrop); + + virtual void PreSubclassWindow(); + +private: + DECLARE_MESSAGE_MAP(); +}; + +#endif Index: src/ch/CustomCopyDlg.cpp =================================================================== diff -u -N -r8dc649003961dad64b92da67426814fb5dd862e0 -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 8dc649003961dad64b92da67426814fb5dd862e0) +++ src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -69,7 +69,6 @@ //}}AFX_DATA_MAP } - BEGIN_MESSAGE_MAP(CCustomCopyDlg,ictranslate::CLanguageDialog) //{{AFX_MSG_MAP(CCustomCopyDlg) ON_BN_CLICKED(IDC_ADDDIR_BUTTON, OnAddDirectoryButton) @@ -90,6 +89,7 @@ ON_BN_CLICKED(IDC_IGNOREFOLDERS_CHECK, OnIgnorefoldersCheck) ON_BN_CLICKED(IDC_FORCEDIRECTORIES_CHECK, OnForcedirectoriesCheck) ON_BN_CLICKED(IDC_EXPORT_BUTTON, OnExportButtonClicked) + ON_WM_SIZE() //}}AFX_MSG_MAP END_MESSAGE_MAP() @@ -141,6 +141,7 @@ AddResizableControl(IDOK, 1.0, 1.0, 0.0, 0.0); AddResizableControl(IDCANCEL, 1.0, 1.0, 0.0, 0.0); AddResizableControl(IDC_HELP_BUTTON, 1.0, 1.0, 0.0, 0.0); + AddResizableControl(IDC_EXPORT_BUTTON, 0.0, 1.0, 0.0, 0.0); InitializeResizableControls(); @@ -149,7 +150,7 @@ // paths' listbox - init images - system image list SHFILEINFO sfi; - HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo(_T("C:\\"), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), + HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo(_T("C:\\"), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON); m_ilImages.Attach(hImageList); @@ -161,8 +162,7 @@ rc.right-=GetSystemMetrics(SM_CXEDGE)*2; // some styles - m_ctlFiles.SetExtendedStyle(m_ctlFiles.GetExtendedStyle() | LVS_EX_FULLROWSELECT); - m_ctlFilters.SetExtendedStyle(m_ctlFiles.GetExtendedStyle() | LVS_EX_FULLROWSELECT); + m_ctlFilters.SetExtendedStyle(m_ctlFilters.GetExtendedStyle() | LVS_EX_FULLROWSELECT); // paths' listbox - add one column LVCOLUMN lvc; @@ -199,8 +199,7 @@ } // destination path - SetComboPath(m_tTaskDefinition.GetDestinationPath().ToString()); -// m_strDest=m_ccData.m_strDestPath; //** + m_ctlDstPath.SetPath(m_tTaskDefinition.GetDestinationPath().ToString()); // operation type m_ctlOperation.AddString(GetResManager().LoadString(IDS_CCDCOPY_STRING)); @@ -222,7 +221,7 @@ // list width m_ctlFilters.GetWindowRect(&rc); - rc.right-=GetSystemMetrics(SM_CXEDGE)*2; + rc.right -= GetSystemMetrics(SM_CXEDGE)*2; // filter - some columns in a header lvc.mask=LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH; @@ -290,16 +289,8 @@ UpdateData(TRUE); // count the width of a list - CRect rc; - m_ctlFiles.GetWindowRect(&rc); - rc.right-=GetSystemMetrics(SM_CXEDGE)*2; + UpdateFilesListCtrlHeaderWidth(); - // change the width of a column - LVCOLUMN lvc; - lvc.mask=LVCF_WIDTH; - lvc.cx=rc.Width(); - m_ctlFiles.SetColumn(0, &lvc); - // operation int iPos=m_ctlOperation.GetCurSel(); m_ctlOperation.ResetContent(); @@ -322,6 +313,11 @@ // filter section (filter, size, date, attributes) while(m_ctlFilters.DeleteColumn(0)); // delete all columns + CRect rc; + m_ctlFilters.GetWindowRect(&rc); + rc.right -= GetSystemMetrics(SM_CXEDGE) * 2; + + LVCOLUMN lvc; lvc.mask=LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH; lvc.fmt=LVCFMT_LEFT; @@ -443,8 +439,7 @@ CString strPath; if (BrowseForFolder(GetResManager().LoadString(IDS_DSTFOLDERBROWSE_STRING), &strPath)) { - SetComboPath(strPath); -// m_strDest=strPath; //** + m_ctlDstPath.SetPath(strPath); } } @@ -819,30 +814,6 @@ } } -void CCustomCopyDlg::SetComboPath(LPCTSTR lpszText) -{ - _ASSERTE(lpszText); - if(!lpszText) - return; - - // set current select to -1 - m_ctlDstPath.SetCurSel(-1); - - SHFILEINFO sfi; - sfi.iIcon=-1; - - COMBOBOXEXITEM cbi; - TCHAR szPath[_MAX_PATH]; - - cbi.mask=CBEIF_TEXT | CBEIF_IMAGE; - cbi.iItem=-1; - _tcscpy(szPath, lpszText); - cbi.pszText=szPath; - SHGetFileInfo(cbi.pszText, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SMALLICON | SHGFI_SYSICONINDEX); - cbi.iImage=sfi.iIcon; - m_ctlDstPath.SetItem(&cbi); -} - void CCustomCopyDlg::UpdateComboIcon() { // get text from combo @@ -1067,3 +1038,26 @@ return true; } + +void CCustomCopyDlg::UpdateFilesListCtrlHeaderWidth() +{ + CRect rc; + m_ctlFiles.GetWindowRect(&rc); + rc.right -= GetSystemMetrics(SM_CXEDGE) * 2; + + // change the width of a column + LVCOLUMN lvc; + lvc.mask = LVCF_WIDTH; + lvc.cx = rc.Width(); + m_ctlFiles.SetColumn(0, &lvc); +} + +void CCustomCopyDlg::OnSize(UINT nType, int /*cx*/, int /*cy*/) +{ + if(nType == SIZE_RESTORED || nType == SIZE_MAXIMIZED) + { + CWnd* pWnd = GetDlgItem(IDC_FILES_LIST); + if(pWnd) + UpdateFilesListCtrlHeaderWidth(); + } +} Index: src/ch/CustomCopyDlg.h =================================================================== diff -u -N -rcb4e9d4b60d62b25ae2cf556c0642601af56c787 -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/CustomCopyDlg.h (.../CustomCopyDlg.h) (revision cb4e9d4b60d62b25ae2cf556c0642601af56c787) +++ src/ch/CustomCopyDlg.h (.../CustomCopyDlg.h) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -21,6 +21,8 @@ #include "../libchcore/TFileFilter.h" #include "../libchcore/TTaskDefinition.h" +#include "CDragDropListCtrl.h" +#include "CDragDropComboEx.h" ///////////////////////////////////////////////////////////////////////////// // CCustomCopyDlg dialog @@ -42,9 +44,10 @@ // Implementation protected: virtual void OnLanguageChanged(); - void UpdateDialog(); + + void UpdateFilesListCtrlHeaderWidth(); + void UpdateComboIcon(); - void SetComboPath(LPCTSTR lpszText); void EnableControls(); void AddFilter(const chcore::TFileFilter& rFilter, int iPos=-1); void AddPath(CString strPath); @@ -75,19 +78,20 @@ afx_msg void OnIgnorefoldersCheck(); afx_msg void OnForcedirectoriesCheck(); afx_msg void OnExportButtonClicked(); + afx_msg void OnSize(UINT nType, int cx, int cy); DECLARE_MESSAGE_MAP() public: chcore::TTaskDefinition m_tTaskDefinition; std::vector m_vRecent; // recently selected paths - CComboBoxEx m_ctlDstPath; + CDragDropComboEx m_ctlDstPath; CListCtrl m_ctlFilters; CListBox m_ctlBufferSizes; CComboBox m_ctlOperation; CComboBox m_ctlPriority; - CListCtrl m_ctlFiles; + CDragDropListCtrl m_ctlFiles; CImageList m_ilImages; bool m_bActualisation = false; // is this dialog processing the combo text changing ? Index: src/ch/FolderDialog.cpp =================================================================== diff -u -N -r8dc649003961dad64b92da67426814fb5dd862e0 -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/FolderDialog.cpp (.../FolderDialog.cpp) (revision 8dc649003961dad64b92da67426814fb5dd862e0) +++ src/ch/FolderDialog.cpp (.../FolderDialog.cpp) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -1027,7 +1027,7 @@ // settings const int iMargin=7; // dialog units - const int iTextCount=3; // ilo�� linii textu w staticu + const int iTextCount=3; // count of lines in static // small buttons const int iBmpMargin=1; // margin between button and a bitmap within @@ -1184,7 +1184,7 @@ pWnd->Invalidate(); } - // buttony - ok & cancel + // buttons - ok & cancel rcButton=CRect(iMargin+2*iLargeButtonWidth+3, iMargin+iLargeButtonHeight, iMargin+iLargeButtonWidth+3, iMargin); MapDialogRect(&rcButton); rcButton.left=cx-rcButton.left; Index: src/ch/ch.rc =================================================================== diff -u -N -rd4064fca634707dcae112e5a41ed37e04455dc2a -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/ch.rc (.../ch.rc) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) +++ src/ch/ch.rc (.../ch.rc) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -221,12 +221,12 @@ CAPTION "Copying/moving parameters" FONT 8, "Tahoma", 0, 0, 0x1 BEGIN - CONTROL "List1",IDC_FILES_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,7,16,279,57,0,HIDC_FILES_LIST + CONTROL "List1",IDC_FILES_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,7,16,279,57,WS_EX_ACCEPTFILES,HIDC_FILES_LIST PUSHBUTTON "Add &file(s)...",IDC_ADDFILE_BUTTON,291,15,53,14,0,0,HIDC_ADDFILE_BUTTON PUSHBUTTON "Add f&older...",IDC_ADDDIR_BUTTON,291,30,53,14,0,0,HIDC_ADDDIR_BUTTON PUSHBUTTON "&Delete",IDC_REMOVEFILEFOLDER_BUTTON,291,45,53,14,0,0,HIDC_REMOVEFILEFOLDER_BUTTON PUSHBUTTON "&Import...",IDC_IMPORT_BUTTON,291,60,53,14,0,0,HIDC_IMPORT_BUTTON - CONTROL "",IDC_DESTPATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,7,86,314,136,0,HIDC_DESTPATH_COMBOBOXEX + CONTROL "",IDC_DESTPATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,7,86,314,136,WS_EX_ACCEPTFILES,HIDC_DESTPATH_COMBOBOXEX PUSHBUTTON "...",IDC_DESTBROWSE_BUTTON,326,85,18,14,0,0,HIDC_DESTBROWSE_BUTTON COMBOBOX IDC_OPERATION_COMBO,13,124,159,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_OPERATION_COMBO COMBOBOX IDC_PRIORITY_COMBO,181,124,159,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_PRIORITY_COMBO @@ -241,8 +241,8 @@ "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,255,329,10,0,HIDC_IGNOREFOLDERS_CHECK CONTROL "Do not copy/move contents of files - only create it (empty)",IDC_ONLYSTRUCTURE_CHECK, "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,277,329,10,0,HIDC_ONLYSTRUCTURE_CHECK - PUSHBUTTON "&OK",IDOK,186,297,50,14,0,0,HIDCANCEL - PUSHBUTTON "&Cancel",IDCANCEL,239,297,50,14,0,0,HIDCANCEL + PUSHBUTTON "&OK",IDOK,186,297,50,14,0,0,0x80950001 + PUSHBUTTON "&Cancel",IDCANCEL,239,297,50,14,0,0,0x80950002 LTEXT "Source files/folders:",IDC_001_STATIC,7,7,337,8 LTEXT "Destination folder:",IDC_002_STATIC,7,76,337,8 LTEXT "Operation type:",IDC_003_STATIC,13,115,117,8 @@ -733,7 +733,12 @@ 0 END +IDD_CUSTOM_COPY_DIALOG AFX_DIALOG_LAYOUT +BEGIN + 0 +END + ///////////////////////////////////////////////////////////////////////////// // // String Table @@ -845,6 +850,7 @@ IDS_CFGLOGLEVEL_VALUES "Debug!Info!Warning!Error" IDS_UPDATE_FREQUENCIES "Never!Every startup!Daily!Weekly!Once every 2 weeks!Monthly!Quarterly" IDS_BUFFER_QUEUE_DEPTH "Buffer queue depth" + IDS_FASTMOVEBEFOREBLOCK_STRING "Use fast move before blocking" END STRINGTABLE @@ -872,9 +878,8 @@ IDS_SOUNDONERROR_STRING "Sound on error" IDS_SOUNDONFINISH_STRING "Sound on copying finished" IDS_LANGUAGE_STRING "Language" - IDS_READSIZEBEFOREBLOCK_STRING "Read tasks size before blocking" - IDS_FASTMOVEBEFOREBLOCK_STRING "Use fast move before blocking" - IDS_USENOBUFFERING_STRING "Disable buffering for large files" + IDS_READSIZEBEFOREBLOCK_STRING "Read tasks size before blocking" + IDS_USENOBUFFERING_STRING "Disable buffering for large files" IDS_LARGEFILESMINSIZE_STRING "Minimum file size for which buffering should be turned off" IDS_OPTIONSBUFFER_STRING "Buffer" @@ -942,6 +947,7 @@ IDS_EMPTYSUBTASKNAME_STRING "none" IDS_STATUS_LOADERROR_STRING "Load error" IDS_EXPORTING_TASK_FAILED "Exporting task data failed. Reason: %reason." + IDS_BUTTON_TRUNCATE_STRING "&Truncate" END STRINGTABLE @@ -1219,7 +1225,6 @@ IDS_ALWAYS_SHOW_STRING "Always show" IDS_HIDE_AND_REGISTER "Hide and register extension" IDS_HIDE_AND_DONT_REGISTER "Hide and do not register extension" - IDS_BUTTON_TRUNCATE_STRING "&Truncate" END #endif // English (United States) resources Index: src/ch/ch.vc140.vcxproj =================================================================== diff -u -N -ra27d1acf1bda3c25b6dcce0d0eb0278009ce63ae -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision a27d1acf1bda3c25b6dcce0d0eb0278009ce63ae) +++ src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -505,6 +505,8 @@ + + @@ -752,6 +754,8 @@ + + Index: src/ch/ch.vc140.vcxproj.filters =================================================================== diff -u -N -r50ad2dc9f0b42ba432bb54e4a042582277410773 -r926b1177cffa2face218fabb3d8af71910d1b8e5 --- src/ch/ch.vc140.vcxproj.filters (.../ch.vc140.vcxproj.filters) (revision 50ad2dc9f0b42ba432bb54e4a042582277410773) +++ src/ch/ch.vc140.vcxproj.filters (.../ch.vc140.vcxproj.filters) (revision 926b1177cffa2face218fabb3d8af71910d1b8e5) @@ -233,6 +233,12 @@ Source Files\Tools\UpdateChecker + + Source Files\GUI\Controls + + + Source Files\GUI\Controls + @@ -394,6 +400,12 @@ Source Files\Tools\UpdateChecker + + Source Files\GUI\Controls + + + Source Files\GUI\Controls +