Thread: [Winmerge-svn] SF.net SVN: winmerge:[5658] trunk/Src/Common
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <jt...@us...> - 2008-07-22 16:32:41
|
Revision: 5658 http://winmerge.svn.sourceforge.net/winmerge/?rev=5658&view=rev Author: jtuc Date: 2008-07-22 16:32:39 +0000 (Tue, 22 Jul 2008) Log Message: ----------- VC6 issues Modified Paths: -------------- trunk/Src/Common/OptionsMgr.cpp trunk/Src/Common/RegOptionsMgr.cpp Modified: trunk/Src/Common/OptionsMgr.cpp =================================================================== --- trunk/Src/Common/OptionsMgr.cpp 2008-07-22 16:31:42 UTC (rev 5657) +++ trunk/Src/Common/OptionsMgr.cpp 2008-07-22 16:32:39 UTC (rev 5658) @@ -28,6 +28,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +// Disable VC6's "identifier was truncated..." warning. It is meaningless. +#if _MSC_VER == 1200 + #pragma warning(disable: 4786) +#endif #include <windows.h> #include <tchar.h> #include <algorithm> Modified: trunk/Src/Common/RegOptionsMgr.cpp =================================================================== --- trunk/Src/Common/RegOptionsMgr.cpp 2008-07-22 16:31:42 UTC (rev 5657) +++ trunk/Src/Common/RegOptionsMgr.cpp 2008-07-22 16:32:39 UTC (rev 5658) @@ -7,6 +7,10 @@ // ID line follows -- this is updated by SVN // $Id$ +// Disable VC6's "identifier was truncated..." warning. It is meaningless. +#if _MSC_VER == 1200 + #pragma warning(disable: 4786) +#endif #include <windows.h> #include <tchar.h> #include "OptionsMgr.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2008-08-08 03:01:02
|
Revision: 5757 http://winmerge.svn.sourceforge.net/winmerge/?rev=5757&view=rev Author: marcelgosselin Date: 2008-08-08 03:01:00 +0000 (Fri, 08 Aug 2008) Log Message: ----------- Replace CArray by std::vector Modified Paths: -------------- trunk/Src/Common/MessageBoxDialog.cpp trunk/Src/Common/MessageBoxDialog.h Modified: trunk/Src/Common/MessageBoxDialog.cpp =================================================================== --- trunk/Src/Common/MessageBoxDialog.cpp 2008-08-08 02:30:29 UTC (rev 5756) +++ trunk/Src/Common/MessageBoxDialog.cpp 2008-08-08 03:01:00 UTC (rev 5757) @@ -39,7 +39,7 @@ * concerned AfxMessageBox */ -#include "stdafx.h" +#include "StdAfx.h" #include "MessageBoxDialog.h" @@ -47,6 +47,8 @@ #define new DEBUG_NEW #endif +using std::vector; + IMPLEMENT_DYNAMIC(CMessageBoxDialog, CDialog) ////////////////////////////////////////////////////////////////////////////// @@ -108,7 +110,7 @@ m_sCheckbox = CSize(0, 0); m_sButton = CSize(0, 0); - m_aButtons.RemoveAll(); + m_aButtons.clear(); } /* @@ -153,7 +155,7 @@ m_sCheckbox = CSize(0, 0); m_sButton = CSize(0, 0); - m_aButtons.RemoveAll(); + m_aButtons.clear(); } /* @@ -529,10 +531,10 @@ if ( m_bTimeoutDisabled ) { // Run through all created buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Try to retrieve a handle for the button. - CWnd* pButtonWnd = GetDlgItem(m_aButtons.GetAt(i).nID); + CWnd* pButtonWnd = GetDlgItem(iter->nID); ASSERT(pButtonWnd); @@ -641,10 +643,10 @@ int nID = pFocusWnd->GetDlgCtrlID(); // Run through the list of defined buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Check whether the ID is a button. - if ( m_aButtons.GetAt(i).nID == nID ) + if ( iter->nID == nID ) { // Save this ID as the default ID. m_nDefaultButton = nID; @@ -705,10 +707,10 @@ if ( m_bTimeoutDisabled ) { // Run through all defined buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Try to retrieve a handle to access the button. - CWnd* pButtonWnd = GetDlgItem(m_aButtons.GetAt(i).nID); + CWnd* pButtonWnd = GetDlgItem(iter->nID); ASSERT(pButtonWnd); @@ -738,13 +740,13 @@ } // Run through the list of defined buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Check whether this button is the default button. - if ( m_aButtons.GetAt(i).nID == m_nDefaultButton ) + if ( iter->nID == m_nDefaultButton ) { // Try to load the text for the button. - String strButtonText = LoadResString(m_aButtons.GetAt(i).nTitle); + String strButtonText = LoadResString(iter->nTitle); // Check whether the timeout is finished. if ( m_nTimeoutSeconds > 0 ) { @@ -754,7 +756,7 @@ strButtonText += szTimeoutSeconds; } // Set the text of the button. - SetDlgItemText(m_aButtons.GetAt(i).nID, strButtonText.c_str()); + SetDlgItemText(iter->nID, strButtonText.c_str()); } } } @@ -833,7 +835,7 @@ int nChecksum = 0; // Run through the message string. - for ( int i = 0; i < m_strMessage.length(); i++ ) + for ( String::size_type i = 0; i < m_strMessage.length(); i++ ) { // Get the char at the given position and add it to the checksum. nChecksum += (int)m_strMessage[i] * i; @@ -860,7 +862,7 @@ MSGBOXBTN bButton = { nID, nTitle }; // Add the button to the list of buttons. - m_aButtons.Add(bButton); + m_aButtons.push_back(bButton); // Check whether this button is the default button. if ( bIsDefault ) @@ -1063,7 +1065,7 @@ if ( m_nStyle & MB_DEFMASK ) { // Create a variable to store the index of the default button. - int nDefaultIndex = 0; + vector<MSGBOXBTN>::size_type nDefaultIndex = 0; // Switch the default button. switch ( m_nStyle & MB_DEFMASK ) @@ -1114,10 +1116,10 @@ } // Check whether enough buttons are available. - if ( m_aButtons.GetSize() >= ( nDefaultIndex + 1 ) ) + if ( m_aButtons.size() >= ( nDefaultIndex + 1 ) ) { // Set the new default button. - m_nDefaultButton = m_aButtons.GetAt(nDefaultIndex).nID; + m_nDefaultButton = m_aButtons[nDefaultIndex].nID; } } @@ -1377,10 +1379,10 @@ CRect rcDummy; // Run through all buttons defined in the list of the buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Create a string and load the title of the button. - String strButtonText = LoadResString(m_aButtons.GetAt(i).nTitle); + String strButtonText = LoadResString(iter->nTitle); // Check whether there's a timeout set. if ( m_nTimeoutSeconds > 0 ) { @@ -1402,7 +1404,7 @@ // Create the button. btnControl.Create(strButtonText.c_str(), WS_CHILD | WS_VISIBLE | WS_TABSTOP, - rcDummy, this, m_aButtons.GetAt(i).nID); + rcDummy, this, iter->nID); // Set the font of the control. btnControl.SetFont(pWndFont); @@ -1492,8 +1494,8 @@ // Calculate the width of the buttons. int cxButtons = - ( m_aButtons.GetSize() - 1 ) * XDialogUnitToPixel(CX_BUTTON_SPACE) + - m_aButtons.GetSize() * m_sButton.cx; + ( m_aButtons.size() - 1 ) * XDialogUnitToPixel(CX_BUTTON_SPACE) + + m_aButtons.size() * m_sButton.cx; int cyButtons = m_sButton.cy; // Add the size of the buttons to the dialog. @@ -1514,10 +1516,10 @@ } // Run through all buttons. - for ( int i = 0; i < m_aButtons.GetSize(); i++ ) + for (vector<MSGBOXBTN>::iterator iter = m_aButtons.begin(); iter != m_aButtons.end(); ++iter) { // Try to retrieve the handle to access the button. - CWnd* pButton = GetDlgItem(m_aButtons.GetAt(i).nID); + CWnd* pButton = GetDlgItem(iter->nID); ASSERT(pButton); Modified: trunk/Src/Common/MessageBoxDialog.h =================================================================== --- trunk/Src/Common/MessageBoxDialog.h 2008-08-08 02:30:29 UTC (rev 5756) +++ trunk/Src/Common/MessageBoxDialog.h 2008-08-08 03:01:00 UTC (rev 5757) @@ -31,6 +31,7 @@ #pragma once #include "resource.h" +#include <vector> ////////////////////////////////////////////////////////////////////////////// // Message box style definitions (mostly taken from WinUser.h). @@ -219,7 +220,7 @@ UINT nTitle; // ID of the title string resource. } MSGBOXBTN; - CArray<MSGBOXBTN, const MSGBOXBTN&> m_aButtons; + std::vector<MSGBOXBTN> m_aButtons; // List of all buttons in the dialog. int m_nDefaultButton; // ID of the default button. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jt...@us...> - 2008-08-09 08:37:06
|
Revision: 5772 http://winmerge.svn.sourceforge.net/winmerge/?rev=5772&view=rev Author: jtuc Date: 2008-08-09 08:37:04 +0000 (Sat, 09 Aug 2008) Log Message: ----------- Patch #2036603 Modified Paths: -------------- trunk/Src/Common/SplitterWndEx.cpp trunk/Src/Common/SplitterWndEx.h Modified: trunk/Src/Common/SplitterWndEx.cpp =================================================================== --- trunk/Src/Common/SplitterWndEx.cpp 2008-08-09 08:31:38 UTC (rev 5771) +++ trunk/Src/Common/SplitterWndEx.cpp 2008-08-09 08:37:04 UTC (rev 5772) @@ -57,6 +57,24 @@ return CSplitterWnd::HitTest(pt); } +CScrollBar* CSplitterWndEx::GetScrollBarCtrl(CWnd* pWnd, int nBar) const +{ + UINT nID = pWnd->GetDlgCtrlID(); + //IdFromRowCol(row, col); + if (nID < AFX_IDW_PANE_FIRST || nID > AFX_IDW_PANE_LAST) + return NULL; // not a standard pane ID + + // appropriate PANE id - look for sibling (splitter, or just frame) + UINT nIDScroll; + if (nBar == SB_HORZ) + nIDScroll = AFX_IDW_HSCROLL_FIRST + (nID - AFX_IDW_PANE_FIRST) % 16; + else + nIDScroll = AFX_IDW_VSCROLL_FIRST + (nID - AFX_IDW_PANE_FIRST) / 16; + + // return shared scroll bars that are immediate children of splitter + return (CScrollBar*)GetDlgItem(nIDScroll); +} + void CSplitterWndEx::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar) { // Ignore scroll events sent directly to the splitter (i.e. not from a @@ -85,7 +103,7 @@ if(col==curCol) continue; - CScrollBar* curBar = GetPane(0, col)->GetScrollBarCtrl(SB_HORZ); + CScrollBar* curBar = GetScrollBarCtrl(GetPane(0, col), SB_HORZ); int newPos = min(pScrollBar->GetScrollPos(), curBar->GetScrollLimit()); // Set the scrollbar info using SetScrollInfo(), limited to 2.000.000.000 characters, @@ -137,7 +155,7 @@ if(row==curRow) continue; - CScrollBar* curBar = GetPane(curRow, 0)->GetScrollBarCtrl(SB_VERT); + CScrollBar* curBar = GetScrollBarCtrl(GetPane(curRow, 0), SB_VERT); double temp = ((double) pScrollBar->GetScrollPos()) * curBar->GetScrollLimit() + oldLimit/2; int newPos = (int) (temp/oldLimit); @@ -183,8 +201,6 @@ sum -= hEqual; } SetRowInfo(i, sum, hmin); - - RecalcLayout(); } } @@ -214,8 +230,6 @@ sum -= vEqual; } SetColumnInfo(i, sum, hmin); - - RecalcLayout(); } } @@ -253,10 +267,7 @@ // but now occupies only a single monitor, then the panes are updated correctly. if (bSplitPanesInHalf) { - CRect vSplitterWndRect; - GetWindowRect(vSplitterWndRect); - SetColumnInfo(0, vSplitterWndRect.Width() / 2, 0); - SetColumnInfo(1, vSplitterWndRect.Width() / 2, 0); + EqualizeCols(); } } @@ -272,6 +283,7 @@ { EqualizeCols(); EqualizeRows(); + RecalcLayout(); } } Modified: trunk/Src/Common/SplitterWndEx.h =================================================================== --- trunk/Src/Common/SplitterWndEx.h 2008-08-09 08:31:38 UTC (rev 5771) +++ trunk/Src/Common/SplitterWndEx.h 2008-08-09 08:37:04 UTC (rev 5772) @@ -30,6 +30,7 @@ void EqualizeCols(); virtual void RecalcLayout(); + CScrollBar* GetScrollBarCtrl(CWnd* pWnd, int nBar) const; private: BOOL m_bBarLocked; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jt...@us...> - 2008-09-05 10:07:01
|
Revision: 5894 http://winmerge.svn.sourceforge.net/winmerge/?rev=5894&view=rev Author: jtuc Date: 2008-09-05 10:06:57 +0000 (Fri, 05 Sep 2008) Log Message: ----------- Initialize UI thread locale in CLanguageSelect constructor. Modified Paths: -------------- trunk/Src/Common/LanguageSelect.cpp trunk/Src/Common/LanguageSelect.h Modified: trunk/Src/Common/LanguageSelect.cpp =================================================================== --- trunk/Src/Common/LanguageSelect.cpp 2008-09-05 09:57:48 UTC (rev 5893) +++ trunk/Src/Common/LanguageSelect.cpp 2008-09-05 10:06:57 UTC (rev 5894) @@ -497,6 +497,7 @@ , m_bReloadMenu(bReloadMenu) , m_bUpdateTitle(bUpdateTitle) { + SetThreadLocale(MAKELCID(m_wCurLanguage, SORT_DEFAULT)); } void CLanguageSelect::DoDataExchange(CDataExchange* pDX) @@ -509,7 +510,7 @@ BEGIN_MESSAGE_MAP(CLanguageSelect, CDialog) //{{AFX_MSG_MAP(CLanguageSelect) - ON_LBN_DBLCLK(IDC_LANGUAGE_LIST, OnDblclkLanguageList) + ON_LBN_DBLCLK(IDC_LANGUAGE_LIST, OnOK) //}}AFX_MSG_MAP END_MESSAGE_MAP() @@ -1208,11 +1209,6 @@ EndDialog(IDOK); } -void CLanguageSelect::OnDblclkLanguageList() -{ - OnOK(); -} - BOOL CLanguageSelect::OnInitDialog() { TranslateDialog(m_hWnd); Modified: trunk/Src/Common/LanguageSelect.h =================================================================== --- trunk/Src/Common/LanguageSelect.h 2008-09-05 09:57:48 UTC (rev 5893) +++ trunk/Src/Common/LanguageSelect.h 2008-09-05 10:06:57 UTC (rev 5894) @@ -86,7 +86,6 @@ //{{AFX_MSG(CLanguageSelect) virtual void OnOK(); virtual BOOL OnInitDialog(); - afx_msg void OnDblclkLanguageList(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2008-09-06 02:48:09
|
Revision: 5901 http://winmerge.svn.sourceforge.net/winmerge/?rev=5901&view=rev Author: marcelgosselin Date: 2008-09-06 02:48:07 +0000 (Sat, 06 Sep 2008) Log Message: ----------- Remove dead code Modified Paths: -------------- trunk/Src/Common/coretools.cpp trunk/Src/Common/coretools.h Modified: trunk/Src/Common/coretools.cpp =================================================================== --- trunk/Src/Common/coretools.cpp 2008-09-06 02:42:19 UTC (rev 5900) +++ trunk/Src/Common/coretools.cpp 2008-09-06 02:48:07 UTC (rev 5901) @@ -113,35 +113,6 @@ } } -/* - Commented out - can't use this file by just including - coretools.h because of gethostaname() & gethostbyname(). - -BOOL GetIP(LPTSTR straddr) -{ - char szHostname[100]; - HOSTENT *pHent; - SOCKADDR_IN sinRemote; - - gethostname( szHostname, sizeof( szHostname )); - pHent = gethostbyname( szHostname ); - - if (pHent != NULL) - { - sinRemote.sin_addr.s_addr = *(u_long *)pHent->h_addr; - _stprintf(straddr,_T("%d.%d.%d.%d"), - sinRemote.sin_addr.S_un.S_un_b.s_b1, - sinRemote.sin_addr.S_un.S_un_b.s_b2, - sinRemote.sin_addr.S_un.S_un_b.s_b3, - sinRemote.sin_addr.S_un.S_un_b.s_b4); - return TRUE; - } - - *straddr=_T('\0'); - return FALSE; -} -*/ - DWORD FPRINTF(HANDLE hf, LPCTSTR fmt, ... ) { static TCHAR fprintf_buffer[8192]; @@ -462,52 +433,6 @@ return rtn; } -// Not used - remove later? -#ifdef _UNUSED_ -BOOL MkDirEx(LPCTSTR foldername) -{ - TCHAR tempPath[_MAX_PATH] = {0}; - LPTSTR p; - - _tcscpy(tempPath, foldername); - if (*_tcsinc(foldername) == _T(':')) - p = _tcschr(_tcsninc(tempPath, 3), _T('\\')); - else if (*foldername == _T('\\')) - p = _tcschr(_tcsinc(tempPath), _T('\\')); - else - p = tempPath; - String errstr; - if (p != NULL) - for (; *p != _T('\0'); p = _tcsinc(p)) - { - if (*p == _T('\\')) - { - *p = _T('\0');; - if (0 && _tcscmp(tempPath, _T(".")) == 0) - { - // Don't call CreateDirectory(".") - } - else - { - if (!MyCreateDirectoryIfNeeded(tempPath, &errstr) - && !MyCreateDirectoryIfNeeded(tempPath, &errstr)) - TRACE(_T("Failed to create folder %s: %s\n"), tempPath, errstr.c_str()); - *p = _T('\\'); - } - } - - } - - if (!MyCreateDirectoryIfNeeded(foldername, &errstr) - && !MyCreateDirectoryIfNeeded(foldername, &errstr)) - TRACE(_T("Failed to create folder %s: %s\n"), foldername, errstr.c_str()); - - struct _stat mystats = {0}; - int stat_result = _tstat(foldername, &mystats); - return stat_result != 0; -} -#endif // _UNUSED_ - float RoundMeasure(float measure, float units) { float res1,res2,divisor; @@ -606,336 +531,6 @@ return rtn; } -// These are not used - remove later? -#ifdef _UNUSED_ -void DDX_Float( CDataExchange* pDX, int nIDC, float& value ) -{ - pDX->PrepareEditCtrl(nIDC); - CEdit *pEdit = (CEdit *)pDX->m_pDlgWnd->GetDlgItem(nIDC); - if (pDX->m_bSaveAndValidate) - { - //DDX_Text(pDX, nIDC, value); - static TCHAR dec[4]=_T(""); - static TCHAR thous[4]=_T(""); - static TCHAR negsign[4]=_T(""); - static int negstyle=1; - - if (*dec == _T('\0')) - { - LCID lcid = GetThreadLocale(); - GetLocaleInfo(lcid, LOCALE_INEGNUMBER, dec, 4); - negstyle = _ttoi(dec); - GetLocaleInfo(lcid, LOCALE_SDECIMAL, dec, 4); - GetLocaleInfo(lcid, LOCALE_STHOUSAND, thous, 4); - GetLocaleInfo(lcid, LOCALE_SNEGATIVESIGN, negsign, 4); - } - - value = 0.f; - - // are we negative? - TCHAR *p,text[80]; - pEdit->GetWindowText(text, 80); - BOOL bIsNeg = (_tcschr(text, negsign[0])!=NULL); - - // separate at the decimal point - TCHAR istr[80]=_T(""); - TCHAR fstr[80]=_T(""); - p = _tcstok(text, dec); - if (p != NULL) - { - _tcscpy(istr, p); - p = _tcstok(NULL, dec); - if (p != NULL) - _tcscpy(fstr, p); - } - - // get the int part - if (*istr != _T('\0')) - { - CString strResult(_T("")); - CString sep(negsign); - sep += thous; - p = _tcstok(istr, sep); - while (p != NULL) - { - strResult += p; - p = _tcstok(NULL, sep); - } - value = (float)_ttoi(strResult); - } - - // get the fract part - if (*fstr != _T('\0')) - { - p = _tcstok(fstr, negsign); - if (p != NULL) - { - double shift = tenpow(_tcslen(p)); - if (shift) - value += (float)(_tcstod(p,NULL)/shift); - else - pDX->Fail(); - } - } - - // convert to neg - if (bIsNeg) - value *= -1.f; - } - else - { - if (pEdit != NULL) - { - CString s = GetLocalizedNumberString(value, 4); - pEdit->SetWindowText(s); - } - } -} - -void DDX_Double( CDataExchange* pDX, int nIDC, double& value ) -{ - pDX->PrepareEditCtrl(nIDC); - CEdit *pEdit = (CEdit *)pDX->m_pDlgWnd->GetDlgItem(nIDC); - if (pDX->m_bSaveAndValidate) - { - //DDX_Text(pDX, nIDC, value); - static TCHAR dec[4]=_T(""); - static TCHAR thous[4]=_T(""); - static TCHAR negsign[4]=_T(""); - static int negstyle=1; - - if (*dec == _T('\0')) - { - LCID lcid = GetThreadLocale(); - GetLocaleInfo(lcid, LOCALE_INEGNUMBER, dec, 4); - negstyle = _ttoi(dec); - GetLocaleInfo(lcid, LOCALE_SDECIMAL, dec, 4); - GetLocaleInfo(lcid, LOCALE_STHOUSAND, thous, 4); - GetLocaleInfo(lcid, LOCALE_SNEGATIVESIGN, negsign, 4); - } - - value = 0.f; - - // are we negative? - TCHAR *p,text[80]; - pEdit->GetWindowText(text, 80); - BOOL bIsNeg = (_tcschr(text, negsign[0])!=NULL); - - // separate at the decimal point - TCHAR istr[80]=_T(""); - TCHAR fstr[80]=_T(""); - p = _tcstok(text, dec); - if (p != NULL) - { - _tcscpy(istr, p); - p = _tcstok(NULL, dec); - if (p != NULL) - _tcscpy(fstr, p); - } - - // get the int part - if (*istr != _T('\0')) - { - CString strResult(_T("")); - CString sep(negsign); - sep += thous; - p = _tcstok(istr, sep); - while (p != NULL) - { - strResult += p; - p = _tcstok(NULL, sep); - } - value = /*(float)*/_ttoi(strResult); - } - - // get the fract part - if (*fstr != _T('\0')) - { - p = _tcstok(fstr, negsign); - if (p != NULL) - { - double shift = tenpow(_tcslen(p)); - if (shift) - value += /*(float)*/(_tcstod(p,NULL)/shift); - else - pDX->Fail(); - } - } - - // convert to neg - if (bIsNeg) - value *= -1.f; - } - else - { - if (pEdit != NULL) - { - CString s = GetLocalizedNumberString(value, 4); - pEdit->SetWindowText(s); - } - } -} - - -CString GetLocalizedNumberString(double dVal, int nPlaces /*=-1*/, BOOL bSeparate /*=FALSE*/, BOOL bTrailZeros /*=FALSE*/, LCID lcidNew /*=LOCALE_USER_DEFAULT*/) -// this function is duplicated in CFloatEdit -{ - static LCID lcid = 0; - static TCHAR dec[4]=_T("."); - static TCHAR thous[4]=_T(","); - static TCHAR buf[80]; - static int nGrpSize=3; - static int nDecimals=2; - static BOOL bLeadZero=TRUE; - static int negstyle=1; - CString s, s2, strResult(_T("")); - DWORD intpart=0; - BOOL bIsNeg=(dVal < 0.0); - - ASSERT(nPlaces!=0); - - if (lcid != lcidNew) - { - lcid = lcidNew; - GetLocaleInfo(lcid, LOCALE_SDECIMAL, dec, 4); - GetLocaleInfo(lcid, LOCALE_STHOUSAND, thous, 4); - GetLocaleInfo(lcid, LOCALE_SGROUPING, buf, 80); - s = buf[0]; - nGrpSize = _ttoi(s); - GetLocaleInfo(lcid, LOCALE_IDIGITS, buf, 4); - nDecimals = _ttoi(buf); - GetLocaleInfo(lcid, LOCALE_ILZERO, buf, 4); - bLeadZero = !_tcsncmp(buf,_T("1"), 1); - GetLocaleInfo(lcid, LOCALE_INEGNUMBER, buf, 4); - negstyle = _ttoi(buf); - } - - TCHAR szFract[80]; - - // split into integer & fraction - char tszInt[80],tszFract[80]; - int places = (nPlaces==-1? nDecimals : nPlaces); - int decimal, sign; - char *buffer; - - buffer = _fcvt( dVal+1e-10, places, &decimal, &sign ); - if (decimal > 0) - { - strncpy(tszInt, buffer, decimal); - tszInt[decimal] = NULL; - } - strncpy(tszFract, &buffer[decimal], strlen(buffer)-decimal); - tszFract[strlen(buffer)-decimal] = NULL; - intpart = (DWORD)atoi(tszInt); -#ifdef _UNICODE - mbstowcs(szFract, tszFract, strlen(tszFract)); -#else - _tcscpy(szFract, tszFract); -#endif - - // take care of leading negative sign - if (bIsNeg) - { - if (negstyle==0) - strResult = _T("("); - else if (negstyle==1) - strResult = _T("-"); - else if (negstyle==2) - strResult = _T("- "); - } - - // format integer part - if (intpart >= 1) - { - s.Format(_T("%lu"), intpart); - - // do thousands separation - if (bSeparate) - { - int len = s.GetLength(); - int leftover = (len % nGrpSize); - - // format the leading group - if (leftover) - { - s2 = s.Left(leftover); - len -= leftover; - s = s.Right(len); - strResult += s2; - } - else if (len) - { - s2 = s.Left(nGrpSize); - len -= nGrpSize; - s = s.Right(len); - strResult += s2; - } - - // format the remaining groups - while (len) - { - s2 = s.Left(nGrpSize); - len -= nGrpSize; - s = s.Right(len); - strResult += thous + s2; - } - } - // want integer value without thousands separation - else - { - strResult += s; - } - } - else - { - // add leading zero - if (bLeadZero) - strResult += _T("0"); - } - - // add decimal separator & fractional part - if (szFract != NULL) - { - // add the decimal separator - strResult += dec; - strResult += szFract; - - // get rid of trailing zeros - if (!bTrailZeros) - { - LPTSTR p, start = strResult.GetBuffer(1); - p = _tcsdec(start, start + _tcslen(start)); - if (p != NULL) - { - for (; p > start && *p==_T('0'); - p = _tcsdec(start, p)); - if (p != NULL) - { - if (*p==_T('.')) // we don't want numbers like 4. - *p=_T('\0'); - else - *(p+1)=_T('\0'); - } - } - strResult.ReleaseBuffer(); - } - } - - // take care of trailing negative sign - if (bIsNeg) - { - if (negstyle==0) - strResult += _T(")"); - else if (negstyle==3) - strResult += _T("-"); - else if (negstyle==4) - strResult += _T(" -"); - } - - return strResult; -} -#endif // _UNUSED_ - HANDLE RunIt(LPCTSTR szExeFile, LPCTSTR szArgs, BOOL bMinimized /*= TRUE*/, BOOL bNewConsole /*= FALSE*/) { STARTUPINFO si = {0}; Modified: trunk/Src/Common/coretools.h =================================================================== --- trunk/Src/Common/coretools.h 2008-09-06 02:42:19 UTC (rev 5900) +++ trunk/Src/Common/coretools.h 2008-09-06 02:48:07 UTC (rev 5901) @@ -88,7 +88,6 @@ DWORD FPUTS(LPCTSTR s, HANDLE hf); HANDLE FOPEN(LPCTSTR path, DWORD mode = GENERIC_READ, DWORD access = OPEN_EXISTING); void GetLocalDrives(LPTSTR letters); -//BOOL GetIP(LPTSTR straddr); void replace_char(LPTSTR s, int target, int repl); BOOL FileExtMatches(LPCTSTR filename, LPCTSTR ext); void SplitFilename(LPCTSTR s, String * path, String * name, String * ext); @@ -99,19 +98,12 @@ BOOL FindAnyFile(LPTSTR filespec, LPTSTR name); long SwapEndian(long val); short int SwapEndian(short int val); -//BOOL MkDirEx(LPCTSTR foldername); String GetModulePath(HMODULE hModule = NULL); String GetPathOnly(LPCTSTR fullpath); float RoundMeasure(float measure, float units); String LegalizeFileName(LPCTSTR szFileName); -#ifdef _UNUSED_ -CString GetLocalizedNumberString(double dVal, int nPlaces =-1, BOOL bSeparate =FALSE, BOOL bTrailZeros =FALSE, LCID lcidNew =LOCALE_USER_DEFAULT); -void DDX_Float( CDataExchange* pDX, int nIDC, float& value ); -void DDX_Double( CDataExchange* pDX, int nIDC, double& value ); -#endif - int tcssubptr(LPCTSTR start, LPCTSTR end); HANDLE RunIt(LPCTSTR szExeFile, LPCTSTR szArgs, BOOL bMinimized = TRUE, BOOL bNewConsole = FALSE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2008-09-07 03:30:25
|
Revision: 5911 http://winmerge.svn.sourceforge.net/winmerge/?rev=5911&view=rev Author: marcelgosselin Date: 2008-09-07 03:30:21 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Use the right case in file names in #include statements Modified Paths: -------------- trunk/Src/Common/Bitmap.cpp trunk/Src/Common/CShellFileOp.cpp trunk/Src/Common/ClipBoard.cpp trunk/Src/Common/LanguageSelect.cpp trunk/Src/Common/LogFile.cpp trunk/Src/Common/MDITabBar.cpp trunk/Src/Common/PreferencesDlg.cpp trunk/Src/Common/PreferencesDlg.h trunk/Src/Common/PropertyPageHost.cpp trunk/Src/Common/SortHeaderCtrl.cpp trunk/Src/Common/SplitterWndEx.cpp trunk/Src/Common/SuperComboBox.cpp trunk/Src/Common/ToolBarXPThemes.cpp trunk/Src/Common/Ucs2Utf8.cpp trunk/Src/Common/UniFile.cpp trunk/Src/Common/WinClasses.cpp trunk/Src/Common/dirtools.cpp trunk/Src/Common/scbarcf.cpp trunk/Src/Common/scbarg.cpp trunk/Src/Common/sizecbar.cpp trunk/Src/Common/varprop.cpp trunk/Src/Common/version.cpp Modified: trunk/Src/Common/Bitmap.cpp =================================================================== --- trunk/Src/Common/Bitmap.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/Bitmap.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -7,7 +7,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include <math.h> #include "Bitmap.h" Modified: trunk/Src/Common/CShellFileOp.cpp =================================================================== --- trunk/Src/Common/CShellFileOp.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/CShellFileOp.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -38,7 +38,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "shlobj.h" #include "objbase.h" #include "CShellFileOp.h" Modified: trunk/Src/Common/ClipBoard.cpp =================================================================== --- trunk/Src/Common/ClipBoard.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/ClipBoard.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -6,7 +6,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "ClipBoard.h" /** Modified: trunk/Src/Common/LanguageSelect.cpp =================================================================== --- trunk/Src/Common/LanguageSelect.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/LanguageSelect.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -6,9 +6,9 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "OptionsDef.h" -#include "merge.h" +#include "Merge.h" #include "version.h" #include "resource.h" #include "LanguageSelect.h" Modified: trunk/Src/Common/LogFile.cpp =================================================================== --- trunk/Src/Common/LogFile.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/LogFile.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -7,7 +7,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "LogFile.h" #include <afxinet.h> #include "UnicodeString.h" Modified: trunk/Src/Common/MDITabBar.cpp =================================================================== --- trunk/Src/Common/MDITabBar.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/MDITabBar.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -6,7 +6,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "MDITabBar.h" #ifdef _DEBUG Modified: trunk/Src/Common/PreferencesDlg.cpp =================================================================== --- trunk/Src/Common/PreferencesDlg.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/PreferencesDlg.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -10,7 +10,7 @@ // ID line follows -- this is updated by SVN // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "resource.h" #include "UnicodeString.h" #include "OptionsDef.h" @@ -22,7 +22,7 @@ #include "coretools.h" //SplitFilename() #include "FileOrFolderSelect.h" -#include "winclasses.h" +#include "WinClasses.h" #include "wclassdefines.h" #ifdef _DEBUG Modified: trunk/Src/Common/PreferencesDlg.h =================================================================== --- trunk/Src/Common/PreferencesDlg.h 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/PreferencesDlg.h 2008-09-07 03:30:21 UTC (rev 5911) @@ -30,7 +30,7 @@ #include "PropArchive.h" #include "PropBackups.h" -#include "propertypagehost.h" +#include "PropertyPageHost.h" class COptionsMgr; class SyntaxColors; Modified: trunk/Src/Common/PropertyPageHost.cpp =================================================================== --- trunk/Src/Common/PropertyPageHost.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/PropertyPageHost.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -8,7 +8,7 @@ * WinMerge. */ -#include "stdafx.h" +#include "StdAfx.h" #include "PropertyPageHost.h" #if _MSC_VER > 1200 Modified: trunk/Src/Common/SortHeaderCtrl.cpp =================================================================== --- trunk/Src/Common/SortHeaderCtrl.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/SortHeaderCtrl.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -7,7 +7,7 @@ // $Id$ ////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "StdAfx.h" #include "SortHeaderCtrl.h" #include "dllver.h" Modified: trunk/Src/Common/SplitterWndEx.cpp =================================================================== --- trunk/Src/Common/SplitterWndEx.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/SplitterWndEx.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -10,7 +10,7 @@ // ////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "StdAfx.h" #include "SplitterWndEx.h" #ifdef COMPILE_MULTIMON_STUBS Modified: trunk/Src/Common/SuperComboBox.cpp =================================================================== --- trunk/Src/Common/SuperComboBox.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/SuperComboBox.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -1,7 +1,7 @@ // ComboBoxEx.cpp : implementation file // -#include "stdafx.h" +#include "StdAfx.h" #include "SuperComboBox.h" #include <shlwapi.h> Modified: trunk/Src/Common/ToolBarXPThemes.cpp =================================================================== --- trunk/Src/Common/ToolBarXPThemes.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/ToolBarXPThemes.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -6,8 +6,8 @@ // RCS ID line follows -- this is updated by CVS // $Id$ -#include "stdafx.h" -#include "ToolBarXPThemes.h" +#include "StdAfx.h" +#include "ToolbarXPThemes.h" BEGIN_MESSAGE_MAP(ToolBarXPThemes, CToolBar) //{{AFX_MSG_MAP(ToolBarXPThemes) Modified: trunk/Src/Common/Ucs2Utf8.cpp =================================================================== --- trunk/Src/Common/Ucs2Utf8.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/Ucs2Utf8.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -20,7 +20,7 @@ * @brief UCS-2 <--> UTF-8 conversion routines implementation. */ -#include "stdafx.h" +#include "StdAfx.h" #include "unicoder.h" #include "Ucs2Utf8.h" Modified: trunk/Src/Common/UniFile.cpp =================================================================== --- trunk/Src/Common/UniFile.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/UniFile.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -30,7 +30,7 @@ THE SOFTWARE. */ -#include "stdafx.h" +#include "StdAfx.h" #include <sys/stat.h> #include "UnicodeString.h" #include "UniFile.h" Modified: trunk/Src/Common/WinClasses.cpp =================================================================== --- trunk/Src/Common/WinClasses.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/WinClasses.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -10,7 +10,7 @@ // RCS ID line follows -- this is updated by CVS // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "WinClasses.h" #include "wclassdefines.h" Modified: trunk/Src/Common/dirtools.cpp =================================================================== --- trunk/Src/Common/dirtools.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/dirtools.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -12,7 +12,7 @@ mpr.lib */ -#include "stdafx.h" +#include "StdAfx.h" #include "dirtools.h" #ifdef _DEBUG Modified: trunk/Src/Common/scbarcf.cpp =================================================================== --- trunk/Src/Common/scbarcf.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/scbarcf.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -26,7 +26,7 @@ // cr...@da... or post them at the message board at the site. ///////////////////////////////////////////////////////////////////////// -#include <stdafx.h> +#include "StdAfx.h" #include "scbarcf.h" ///////////////////////////////////////////////////////////////////////// Modified: trunk/Src/Common/scbarg.cpp =================================================================== --- trunk/Src/Common/scbarg.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/scbarg.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -29,7 +29,7 @@ // sizecbar.cpp : implementation file // -#include "stdafx.h" +#include "StdAfx.h" #ifdef _DEBUG #define new DEBUG_NEW Modified: trunk/Src/Common/sizecbar.cpp =================================================================== --- trunk/Src/Common/sizecbar.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/sizecbar.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -55,7 +55,7 @@ // sizecbar.cpp : implementation file // -#include "stdafx.h" +#include "StdAfx.h" #include "sizecbar.h" #ifdef _DEBUG Modified: trunk/Src/Common/varprop.cpp =================================================================== --- trunk/Src/Common/varprop.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/varprop.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -7,7 +7,7 @@ // $Id$ ////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "StdAfx.h" #include "varprop.h" #ifdef _DEBUG Modified: trunk/Src/Common/version.cpp =================================================================== --- trunk/Src/Common/version.cpp 2008-09-07 03:27:29 UTC (rev 5910) +++ trunk/Src/Common/version.cpp 2008-09-07 03:30:21 UTC (rev 5911) @@ -7,7 +7,7 @@ // $Id$ -#include "stdafx.h" +#include "StdAfx.h" #include "version.h" /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2008-09-07 03:50:16
|
Revision: 5912 http://winmerge.svn.sourceforge.net/winmerge/?rev=5912&view=rev Author: marcelgosselin Date: 2008-09-07 03:50:13 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Make header file self-contained Modified Paths: -------------- trunk/Src/Common/unicoder.cpp trunk/Src/Common/unicoder.h Modified: trunk/Src/Common/unicoder.cpp =================================================================== --- trunk/Src/Common/unicoder.cpp 2008-09-07 03:30:21 UTC (rev 5911) +++ trunk/Src/Common/unicoder.cpp 2008-09-07 03:50:13 UTC (rev 5912) @@ -57,7 +57,7 @@ * returns length of byte string written * Does not zero-terminate! */ -int Ucs4_to_Utf8(UINT unich, unsigned char * utf8) +int Ucs4_to_Utf8(unsigned int unich, unsigned char * utf8) { #pragma warning(disable: 4244) // possible loss of data due to type conversion if (unich <= 0x7f) @@ -135,7 +135,7 @@ /** * @brief return #bytes required to represent Unicode codepoint as UTF-8 */ -int Utf8len_fromCodepoint(UINT ch) +int Utf8len_fromCodepoint(unsigned int ch) { if (ch <= 0x7F) return 1; if (ch <= 0x7FF) return 2; @@ -153,9 +153,9 @@ * * @bug Fails for files larger than 2gigs */ -UINT Utf8len_of_string(LPCWSTR text, int size) +unsigned int Utf8len_of_string(const wchar_t* text, int size) { - UINT len=0; + unsigned int len=0; for (int i=0; i<size; ++i) { int chlen = Utf8len_fromCodepoint(text[i]); @@ -171,9 +171,9 @@ * * @bug Fails for files larger than 2gigs */ -UINT stringlen_of_utf8(LPCSTR text, int size) +unsigned int stringlen_of_utf8(const char* text, int size) { - UINT len=0; + unsigned int len=0; for (int i=0; i<size; ) { int chlen = Utf8len_fromLeadByte(text[i]); @@ -187,39 +187,39 @@ /** * @brief Read UTF-8 character and return as Unicode */ -UINT GetUtf8Char(unsigned char * str) +unsigned int GetUtf8Char(unsigned char * str) { /* test short cases first, as probably much more common */ if (!(*str & 0x80 && *str & 0x40)) { return str[0]; } if (!(*str & 0x20)) { - UINT ch = ((str[0] & 0x1F) << 6) + unsigned int ch = ((str[0] & 0x1F) << 6) + (str[1] & 0x3F); return ch; } if (!(*str & 0x10)) { - UINT ch = ((str[0] & 0x0f) << 12) + unsigned int ch = ((str[0] & 0x0f) << 12) + ((str[1] & 0x3F) << 6) + (str[2] & 0x3F); return ch; } if (!(*str & 0x08)) { - UINT ch = ((str[0] & 0x0F) << 18) + unsigned int ch = ((str[0] & 0x0F) << 18) + ((str[1] & 0x3F) << 12) + ((str[2] & 0x3F) << 6) + (str[3] & 0x3F); return ch; } if (!(*str & 0x04)) { - UINT ch = ((str[0] & 0x0F) << 24) + unsigned int ch = ((str[0] & 0x0F) << 24) + ((str[1] & 0x3F) << 18) + ((str[2] & 0x3F) << 12) + ((str[3] & 0x3F) << 6) + (str[4] & 0x3F); return ch; } else { - UINT ch = ((str[0] & 0x0F) << 30) + unsigned int ch = ((str[0] & 0x0F) << 30) + ((str[1] & 0x3F) << 24) + ((str[2] & 0x3F) << 18) + ((str[3] & 0x3F) << 12) @@ -234,7 +234,7 @@ * * Returns number of bytes written (or -1 for error, in which case it writes '?') */ -int to_utf8_advance(UINT u, unsigned char * &lpd) +int to_utf8_advance(unsigned int u, unsigned char * &lpd) { #pragma warning(disable: 4244) // possible loss of data due to type conversion if (u < 0x80) @@ -293,9 +293,9 @@ /** * @brief convert character passed (Unicode codepoint) to a TCHAR (set lossy flag if imperfect conversion) */ -String maketchar(UINT unich, bool & lossy) +String maketchar(unsigned int unich, bool & lossy) { - static UINT codepage = CP_ACP; + static unsigned int codepage = CP_ACP; // NB: Windows always draws in CP_ACP, not CP_THREAD_ACP, so we must use CP_ACP as an internal codepage return maketchar(unich, lossy, codepage); @@ -304,7 +304,7 @@ /** * @brief convert character passed (Unicode codepoint) to a TCHAR (set lossy flag if imperfect conversion) */ -String maketchar(UINT unich, bool & lossy, UINT codepage) +String maketchar(unsigned int unich, bool & lossy, unsigned int codepage) { #ifdef _UNICODE if (unich < 0x10000) @@ -360,9 +360,9 @@ /** * @brief convert 8-bit character input to Unicode codepoint and return it */ -UINT byteToUnicode (unsigned char ch) +unsigned int byteToUnicode (unsigned char ch) { - static UINT codepage = CP_ACP; + static unsigned int codepage = CP_ACP; // NB: Windows always draws in CP_ACP, not CP_THREAD_ACP, so we must use CP_ACP as an internal codepage return byteToUnicode(ch, codepage); @@ -371,7 +371,7 @@ /** * @brief convert 8-bit character input to Unicode codepoint and return it */ -UINT byteToUnicode (unsigned char ch, UINT codepage) +unsigned int byteToUnicode (unsigned char ch, unsigned int codepage) { if (ch < 0x80) @@ -379,7 +379,7 @@ DWORD flags = 0; wchar_t wbuff; - int n = MultiByteToWideChar(codepage, flags, (LPCSTR)&ch, 1, &wbuff, 1); + int n = MultiByteToWideChar(codepage, flags, (const char*)&ch, 1, &wbuff, 1); if (n>0) return wbuff; else @@ -405,7 +405,7 @@ * @brief Write appropriate BOM (Unicode byte order marker) * returns #bytes written */ -int writeBom(LPVOID dest, UNICODESET unicoding) +int writeBom(void* dest, UNICODESET unicoding) { unsigned char * lpd = reinterpret_cast<unsigned char *>(dest); // write Unicode byte order marker (BOM) @@ -436,9 +436,9 @@ * This does not handle MBCS or UTF-8 codepages correctly! * Client should not use this except for Unicode or SBCS codepages. */ -UINT get_unicode_char(unsigned char * ptr, UNICODESET codeset, int codepage) +unsigned int get_unicode_char(unsigned char * ptr, UNICODESET codeset, int codepage) { - UINT ch; + unsigned int ch; switch (codeset) { case UCS2LE: @@ -462,7 +462,7 @@ * In fact, this doesn't even know. Probably going to have to make * two passes, the first with MB_ERR_INVALID_CHARS. Ugh. :( */ -String maketstring(LPCSTR lpd, UINT len, int codepage, bool * lossy) +String maketstring(const char* lpd, unsigned int len, int codepage, bool * lossy) { int defcodepage = getDefaultCodepage(); @@ -527,13 +527,13 @@ * @brief (ANSI build only) Convert from one 8 bit codepage to another */ #ifndef UNICODE -String CrossConvertToStringA(LPCSTR src, UINT srclen, int cpin, int cpout, bool * lossy) +String CrossConvertToStringA(const char* src, unsigned int srclen, int cpin, int cpout, bool * lossy) { int wlen = srclen*2+6; int clen = wlen * 2 + 6; String str; str.resize(clen); - LPSTR cbuff = &*str.begin(); + char* cbuff = &*str.begin(); int nbytes = CrossConvert(src, srclen, cbuff, clen, cpin, cpout, lossy); str.resize(nbytes); return str; @@ -545,7 +545,7 @@ * * destsize must be at least 2 */ -int CrossConvert(LPCSTR src, UINT srclen, LPSTR dest, UINT destsize, int cpin, int cpout, bool * lossy) +int CrossConvert(const char* src, unsigned int srclen, char* dest, unsigned int destsize, int cpin, int cpout, bool * lossy) { ASSERT(destsize > 1); @@ -553,7 +553,7 @@ DWORD flags = 0; int wlen = srclen*2+6; wchar_t * wbuff = new wchar_t[wlen]; - int n = MultiByteToWideChar(cpin, flags, (LPCSTR)src, srclen, wbuff, wlen-1); + int n = MultiByteToWideChar(cpin, flags, (const char*)src, srclen, wbuff, wlen-1); if (!n) { int nsyserr = ::GetLastError(); @@ -672,10 +672,10 @@ int destcp = (unicoding2 == UTF8 ? CP_UTF8 : codepage2); DWORD flags = 0; - int bytes = WideCharToMultiByte(destcp, flags, (LPCWSTR)src, srcbytes/2, 0, 0, NULL, NULL); + int bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes/2, 0, 0, NULL, NULL); dest->resize(bytes); int losses = 0; - bytes = WideCharToMultiByte(destcp, flags, (LPCWSTR)src, srcbytes/2, (char *)dest->ptr, dest->capacity, NULL, NULL); + bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes/2, (char *)dest->ptr, dest->capacity, NULL, NULL); dest->size = bytes; return losses==0; } @@ -684,9 +684,9 @@ // From 8-bit (or UTF-8) to UCS-2LE int srccp = (unicoding1 == UTF8 ? CP_UTF8 : codepage1); DWORD flags = 0; - int wchars = MultiByteToWideChar(srccp, flags, (LPCSTR)src, srcbytes, 0, 0); + int wchars = MultiByteToWideChar(srccp, flags, (const char*)src, srcbytes, 0, 0); dest->resize(wchars*2); - wchars = MultiByteToWideChar(srccp, flags, (LPCSTR)src, srcbytes, (LPWSTR)dest->ptr, dest->capacity/2); + wchars = MultiByteToWideChar(srccp, flags, (const char*)src, srcbytes, (LPWSTR)dest->ptr, dest->capacity/2); dest->size = wchars * 2; return true; } @@ -699,7 +699,7 @@ * @param [out] pBom Returns true if buffer had BOM bytes, false otherwise. * @return One of UNICODESET values as encoding. */ -UNICODESET DetermineEncoding(LPBYTE pBuffer, int size, bool * pBom) +UNICODESET DetermineEncoding(unsigned char* pBuffer, int size, bool * pBom) { UNICODESET unicoding = ucr::NONE; *pBom = false; Modified: trunk/Src/Common/unicoder.h =================================================================== --- trunk/Src/Common/unicoder.h 2008-09-07 03:30:21 UTC (rev 5911) +++ trunk/Src/Common/unicoder.h 2008-09-07 03:50:13 UTC (rev 5912) @@ -12,6 +12,8 @@ #ifndef unicoder_h_included #define unicoder_h_included +#include "UnicodeString.h" + namespace ucr { /** @@ -36,32 +38,32 @@ UTF8, /**< UTF-8. */ }; -int Ucs4_to_Utf8(UINT unich, unsigned char * utf8); +int Ucs4_to_Utf8(unsigned int unich, unsigned char * utf8); int Utf8len_fromLeadByte(unsigned char ch); -int Utf8len_fromCodepoint(UINT ch); -UINT Utf8len_of_string(LPCWSTR text, int size); -UINT stringlen_of_utf8(LPCSTR text, int size); -UINT GetUtf8Char(unsigned char * str); -int to_utf8_advance(UINT u, unsigned char * &lpd); -String maketchar(UINT ch, bool & lossy); -int writeBom(LPVOID dest, UNICODESET unicoding); -UINT get_unicode_char(unsigned char * ptr, UNICODESET unicoding, int codepage=0); -String maketstring(LPCSTR lpd, UINT len, int codepage, bool * lossy); -String maketchar(UINT unich, bool & lossy); -String maketchar(UINT unich, bool & lossy, UINT codepage); -UINT byteToUnicode(unsigned char ch); -UINT byteToUnicode(unsigned char ch, UINT codepage); +int Utf8len_fromCodepoint(unsigned int ch); +unsigned int Utf8len_of_string(const wchar_t* text, int size); +unsigned int stringlen_of_utf8(const char* text, int size); +unsigned int GetUtf8Char(unsigned char * str); +int to_utf8_advance(unsigned int u, unsigned char * &lpd); +String maketchar(unsigned int ch, bool & lossy); +int writeBom(void* dest, UNICODESET unicoding); +unsigned int get_unicode_char(unsigned char * ptr, UNICODESET unicoding, int codepage=0); +String maketstring(const char* lpd, unsigned int len, int codepage, bool * lossy); +String maketchar(unsigned int unich, bool & lossy); +String maketchar(unsigned int unich, bool & lossy, unsigned int codepage); +unsigned int byteToUnicode(unsigned char ch); +unsigned int byteToUnicode(unsigned char ch, unsigned int codepage); void getInternalEncoding(UNICODESET * unicoding, int * codepage); // generic function to do all conversions bool convert(UNICODESET unicoding1, int codepage1, const unsigned char * src, int srcbytes, UNICODESET unicoding2, int codepage2, buffer * dest); -int CrossConvert(LPCSTR src, UINT srclen, LPSTR dest, UINT destsize, int cpin, int cpout, bool * lossy); +int CrossConvert(const char* src, unsigned int srclen, char* dest, unsigned int destsize, int cpin, int cpout, bool * lossy); #ifndef UNICODE -String CrossConvertToStringA(LPCSTR src, UINT srclen, int cpin, int cpout, bool * lossy); +String CrossConvertToStringA(const char* src, unsigned int srclen, int cpin, int cpout, bool * lossy); #endif -UNICODESET DetermineEncoding(LPBYTE pBuffer, int size, bool * pBom); +UNICODESET DetermineEncoding(unsigned char* pBuffer, int size, bool * pBom); } // namespace ucr This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2008-11-19 22:22:20
|
Revision: 6101 http://winmerge.svn.sourceforge.net/winmerge/?rev=6101&view=rev Author: kimmov Date: 2008-11-19 21:30:57 +0000 (Wed, 19 Nov 2008) Log Message: ----------- PATCH: [ 2189315 ] Shell Context Menu in Folder Compare view Fix for building with VS2008. Modified Paths: -------------- trunk/Src/Common/ShellContextMenu.cpp trunk/Src/Common/ShellContextMenu.h Modified: trunk/Src/Common/ShellContextMenu.cpp =================================================================== --- trunk/Src/Common/ShellContextMenu.cpp 2008-11-19 18:57:18 UTC (rev 6100) +++ trunk/Src/Common/ShellContextMenu.cpp 2008-11-19 21:30:57 UTC (rev 6101) @@ -193,7 +193,7 @@ return false; } - IContextMenuPtr pCMenu1; + IContextMenu *pCMenu1; if (FAILED(hr = pCurrFolder->GetUIObjectOf(NULL, pidls.Size(), pidls.GetList(), @@ -206,13 +206,13 @@ m_pPreferredMenu = pCMenu1; - IContextMenu2Ptr pCMenu2(pCMenu1); + IContextMenu2 *pCMenu2((IContextMenu2 *)pCMenu1); if (pCMenu2) { m_pPreferredMenu = pCMenu2; } - IContextMenu3Ptr pCMenu3(pCMenu1); + IContextMenu3 *pCMenu3((IContextMenu3 *)pCMenu1); if (pCMenu3) { m_pPreferredMenu = pCMenu3; Modified: trunk/Src/Common/ShellContextMenu.h =================================================================== --- trunk/Src/Common/ShellContextMenu.h 2008-11-19 18:57:18 UTC (rev 6100) +++ trunk/Src/Common/ShellContextMenu.h 2008-11-19 21:30:57 UTC (rev 6101) @@ -177,8 +177,8 @@ LPCONTEXTMENU m_pPreferredMenu; /**< Shell context menu for group of files. Points either to IContextMenu, IContextMenu2 or IContextMenu3 interface, the highest available. Used to process command in InvokeCommand() */ - IContextMenu2Ptr m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ - IContextMenu3Ptr m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ + IContextMenu2 *m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ + IContextMenu3 *m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ HMENU m_hShellContextMenu; /**< HMENU handle of shell context menu for group of files */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2008-11-20 14:18:07
|
Revision: 6105 http://winmerge.svn.sourceforge.net/winmerge/?rev=6105&view=rev Author: kimmov Date: 2008-11-20 14:17:59 +0000 (Thu, 20 Nov 2008) Log Message: ----------- PATCH: [ 2189315 ] Shell Context Menu in Folder Compare view Build fix patch ShellMenu_IContextMenuPtr_fix.rev6104.patch Submitted by Paul (pav...@us...) Revision Links: -------------- http://winmerge.svn.sourceforge.net/winmerge/?rev=6104&view=rev Modified Paths: -------------- trunk/Src/Common/ShellContextMenu.cpp trunk/Src/Common/ShellContextMenu.h Modified: trunk/Src/Common/ShellContextMenu.cpp =================================================================== --- trunk/Src/Common/ShellContextMenu.cpp 2008-11-19 22:03:26 UTC (rev 6104) +++ trunk/Src/Common/ShellContextMenu.cpp 2008-11-20 14:17:59 UTC (rev 6105) @@ -193,7 +193,7 @@ return false; } - IContextMenu *pCMenu1; + IContextMenuPtr pCMenu1; if (FAILED(hr = pCurrFolder->GetUIObjectOf(NULL, pidls.Size(), pidls.GetList(), @@ -206,13 +206,13 @@ m_pPreferredMenu = pCMenu1; - IContextMenu2 *pCMenu2((IContextMenu2 *)pCMenu1); + IContextMenu2Ptr pCMenu2(pCMenu1); if (pCMenu2) { m_pPreferredMenu = pCMenu2; } - IContextMenu3 *pCMenu3((IContextMenu3 *)pCMenu1); + IContextMenu3Ptr pCMenu3(pCMenu1); if (pCMenu3) { m_pPreferredMenu = pCMenu3; Modified: trunk/Src/Common/ShellContextMenu.h =================================================================== --- trunk/Src/Common/ShellContextMenu.h 2008-11-19 22:03:26 UTC (rev 6104) +++ trunk/Src/Common/ShellContextMenu.h 2008-11-20 14:17:59 UTC (rev 6105) @@ -30,9 +30,18 @@ #define _SHELLCONTEXTMENU_H_ #include <comdef.h> +#include <ShlObj.h> #include <list> #include "UnicodeString.h" +struct __declspec(uuid("000214e4-0000-0000-c000-000000000046")) IContextMenu; +struct __declspec(uuid("000214f4-0000-0000-c000-000000000046")) IContextMenu2; +struct __declspec(uuid("bcfce0a0-ec17-11d0-8d10-00a0c90f2719")) IContextMenu3; + +_COM_SMARTPTR_TYPEDEF(IContextMenu, __uuidof(IContextMenu)); +_COM_SMARTPTR_TYPEDEF(IContextMenu2, __uuidof(IContextMenu2)); +_COM_SMARTPTR_TYPEDEF(IContextMenu3, __uuidof(IContextMenu3)); + /** * @brief Explorer's context menu * @@ -177,8 +186,8 @@ LPCONTEXTMENU m_pPreferredMenu; /**< Shell context menu for group of files. Points either to IContextMenu, IContextMenu2 or IContextMenu3 interface, the highest available. Used to process command in InvokeCommand() */ - IContextMenu2 *m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ - IContextMenu3 *m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ + IContextMenu2Ptr m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ + IContextMenu3Ptr m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ HMENU m_hShellContextMenu; /**< HMENU handle of shell context menu for group of files */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2008-11-20 14:25:20
|
Revision: 6106 http://winmerge.svn.sourceforge.net/winmerge/?rev=6106&view=rev Author: kimmov Date: 2008-11-20 14:25:18 +0000 (Thu, 20 Nov 2008) Log Message: ----------- PATCH: [ 2189315 ] Shell Context Menu in Folder Compare view Assert fix patch ShellMenu_Assert_fix.rev6104.patch Submitted by Paul (pav...@us...) Revision Links: -------------- http://winmerge.svn.sourceforge.net/winmerge/?rev=6104&view=rev Modified Paths: -------------- trunk/Src/Common/ShellContextMenu.cpp trunk/Src/Common/ShellContextMenu.h Modified: trunk/Src/Common/ShellContextMenu.cpp =================================================================== --- trunk/Src/Common/ShellContextMenu.cpp 2008-11-20 14:17:59 UTC (rev 6105) +++ trunk/Src/Common/ShellContextMenu.cpp 2008-11-20 14:25:18 UTC (rev 6106) @@ -76,8 +76,7 @@ HMENU CShellContextMenu::GetHMENU() const { - ASSERT(::IsMenu(m_hShellContextMenu)); - return m_hShellContextMenu; + return ::IsMenu(m_hShellContextMenu) ? m_hShellContextMenu : NULL; } bool CShellContextMenu::HandleMenuMessage(UINT message, WPARAM wParam, LPARAM lParam, LRESULT& retval) Modified: trunk/Src/Common/ShellContextMenu.h =================================================================== --- trunk/Src/Common/ShellContextMenu.h 2008-11-20 14:17:59 UTC (rev 6105) +++ trunk/Src/Common/ShellContextMenu.h 2008-11-20 14:25:18 UTC (rev 6106) @@ -128,7 +128,9 @@ * * @return Handle to shell context menu. * Menu is created in constructor and does not normally change when requesting context menu via RequeryShellContextMenu() - * It may though change if destroyed by someone. In this case it is recreated in RequeryShellContextMenu() + * It may though change if destroyed by someone. In this case it should be recreated in RequeryShellContextMenu() + * + * @retval NULL If handle is destroyed by parent menu, but not yet recreated by RequeryShellContextMenu() */ HMENU GetHMENU() const; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-04-20 17:45:51
|
Revision: 6678 http://winmerge.svn.sourceforge.net/winmerge/?rev=6678&view=rev Author: kimmov Date: 2009-04-20 17:45:33 +0000 (Mon, 20 Apr 2009) Log Message: ----------- Couple of 64-bit build fixes. Fix types to use correct pointer types. Fix offset to use 64-bit size. Modified Paths: -------------- trunk/Src/Common/UniFile.cpp trunk/Src/Common/unicoder.cpp trunk/Src/Common/unicoder.h Modified: trunk/Src/Common/UniFile.cpp =================================================================== --- trunk/Src/Common/UniFile.cpp 2009-04-20 07:02:11 UTC (rev 6677) +++ trunk/Src/Common/UniFile.cpp 2009-04-20 17:45:33 UTC (rev 6678) @@ -349,7 +349,7 @@ if (!IsOpen()) return false; - unsigned char * lpByte = m_base; + PBYTE lpByte = m_base; m_current = m_data = m_base; m_charsize = 1; bool unicode = false; Modified: trunk/Src/Common/unicoder.cpp =================================================================== --- trunk/Src/Common/unicoder.cpp 2009-04-20 07:02:11 UTC (rev 6677) +++ trunk/Src/Common/unicoder.cpp 2009-04-20 17:45:33 UTC (rev 6678) @@ -703,7 +703,7 @@ * FF FE 00 00 UTF-32, little endian * 00 00 FE FF UTF-32, big-endian */ -UNICODESET DetermineEncoding(unsigned char* pBuffer, int size, bool * pBom) +UNICODESET DetermineEncoding(PBYTE pBuffer, __int64 size, bool * pBom) { UNICODESET unicoding = ucr::NONE; *pBom = false; Modified: trunk/Src/Common/unicoder.h =================================================================== --- trunk/Src/Common/unicoder.h 2009-04-20 07:02:11 UTC (rev 6677) +++ trunk/Src/Common/unicoder.h 2009-04-20 17:45:33 UTC (rev 6678) @@ -65,7 +65,7 @@ String CrossConvertToStringA(const char* src, unsigned int srclen, int cpin, int cpout, bool * lossy); #endif -UNICODESET DetermineEncoding(unsigned char* pBuffer, int size, bool * pBom); +UNICODESET DetermineEncoding(PBYTE pBuffer, __int64 size, bool * pBom); } // namespace ucr This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-04-20 19:52:39
|
Revision: 6680 http://winmerge.svn.sourceforge.net/winmerge/?rev=6680&view=rev Author: kimmov Date: 2009-04-20 19:52:33 +0000 (Mon, 20 Apr 2009) Log Message: ----------- Fix some 64-bit build warnings about type casts. Modified Paths: -------------- trunk/Src/Common/UniFile.cpp trunk/Src/Common/UniFile.h Modified: trunk/Src/Common/UniFile.cpp =================================================================== --- trunk/Src/Common/UniFile.cpp 2009-04-20 19:43:12 UTC (rev 6679) +++ trunk/Src/Common/UniFile.cpp 2009-04-20 19:52:33 UTC (rev 6680) @@ -425,9 +425,9 @@ static void Append(String &strBuffer, LPCTSTR pchTail, int cchTail, int cchBufferMin) { - int cchBuffer = strBuffer.capacity(); - int cchHead = strBuffer.length(); - int cchLength = cchHead + cchTail; + size_t cchBuffer = strBuffer.capacity(); + size_t cchHead = strBuffer.length(); + size_t cchLength = cchHead + cchTail; while (cchBuffer < cchLength) { ASSERT((cchBufferMin & cchBufferMin - 1) == 0); // must be a power of 2 @@ -443,7 +443,7 @@ /** * @brief Record occurrence of binary zero to stats */ -static void RecordZero(UniFile::txtstats & txstats, int offset) +static void RecordZero(UniFile::txtstats & txstats, INT64 offset) { ++txstats.nzeros; if (txstats.first_zero == -1) @@ -477,7 +477,7 @@ while (m_current - m_base + 1 < m_filesize) { wchar_t wch = *(wchar_t *)m_current; - int wch_offset = (m_current - m_base); + INT64 wch_offset = (m_current - m_base); m_current += 2; if (wch == '\n' || wch == '\r') { @@ -577,7 +577,7 @@ } if (*eolptr == 0) { - int offset = (eolptr - m_base); + INT64 offset = (eolptr - m_base); RecordZero(m_txtstats, offset); } } @@ -688,7 +688,7 @@ } else if (!ch) { - int offset = (m_current - m_base); + INT64 offset = (m_current - m_base); RecordZero(m_txtstats, offset); } // always advance to next character @@ -861,7 +861,7 @@ if (buff == NULL) return false; - int bytes = fread(buff, 1, max_size, m_fp); + size_t bytes = fread(buff, 1, max_size, m_fp); m_data = 0; m_charsize = 1; bool unicode = false; @@ -967,8 +967,8 @@ if (m_unicoding == ucr::NONE && EqualCodepages(m_codepage, getDefaultCodepage())) #endif { - unsigned int bytes = line.length() * sizeof(TCHAR); - unsigned int wbytes = fwrite(line.c_str(), 1, bytes, m_fp); + size_t bytes = line.length() * sizeof(TCHAR); + size_t wbytes = fwrite(line.c_str(), 1, bytes, m_fp); if (wbytes != bytes) return false; return true; @@ -979,10 +979,10 @@ int codepage1=0; ucr::getInternalEncoding(&unicoding1, &codepage1); // What String & TCHARs represent const unsigned char * src = (const UCHAR *)line.c_str(); - int srcbytes = line.length() * sizeof(TCHAR); + size_t srcbytes = line.length() * sizeof(TCHAR); bool lossy = ucr::convert(unicoding1, codepage1, src, srcbytes, (ucr::UNICODESET)m_unicoding, m_codepage, buff); // TODO: What to do about lossy conversion ? - unsigned int wbytes = fwrite(buff->ptr, 1, buff->size, m_fp); + size_t wbytes = fwrite(buff->ptr, 1, buff->size, m_fp); if (wbytes != buff->size) return false; return true; Modified: trunk/Src/Common/UniFile.h =================================================================== --- trunk/Src/Common/UniFile.h 2009-04-20 19:43:12 UTC (rev 6679) +++ trunk/Src/Common/UniFile.h 2009-04-20 19:52:33 UTC (rev 6680) @@ -67,8 +67,8 @@ int nlfs; int ncrlfs; int nzeros; - int first_zero; // byte offset, initially -1 - int last_zero; // byte offset, initially -1 + INT64 first_zero; // byte offset, initially -1 + INT64 last_zero; // byte offset, initially -1 int nlosses; txtstats() { clear(); } void clear() { ncrs = nlfs = ncrlfs = nzeros = nlosses = 0; first_zero = -1; last_zero = -1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-07-26 16:27:07
|
Revision: 6935 http://winmerge.svn.sourceforge.net/winmerge/?rev=6935&view=rev Author: kimmov Date: 2009-07-26 16:26:58 +0000 (Sun, 26 Jul 2009) Log Message: ----------- Astyle formatting. Modified Paths: -------------- trunk/Src/Common/UniFile.cpp trunk/Src/Common/UniFile.h trunk/Src/Common/unicoder.cpp trunk/Src/Common/unicoder.h Modified: trunk/Src/Common/UniFile.cpp =================================================================== --- trunk/Src/Common/UniFile.cpp 2009-07-26 15:22:14 UTC (rev 6934) +++ trunk/Src/Common/UniFile.cpp 2009-07-26 16:26:58 UTC (rev 6935) @@ -52,7 +52,7 @@ */ UniFile::UniError::UniError() { - ClearError(); + ClearError(); } /** @@ -195,11 +195,11 @@ ///////////// UniMemFile::UniMemFile() -: m_handle(INVALID_HANDLE_VALUE) -, m_hMapping(INVALID_HANDLE_VALUE) -, m_base(NULL) -, m_data(NULL) -, m_current(NULL) + : m_handle(INVALID_HANDLE_VALUE) + , m_hMapping(INVALID_HANDLE_VALUE) + , m_base(NULL) + , m_data(NULL) + , m_current(NULL) { } @@ -354,25 +354,25 @@ m_charsize = 1; bool unicode = false; bool bom = false; - + m_unicoding = ucr::DetermineEncoding(lpByte, m_filesize, &bom); switch (m_unicoding) { - case ucr::UCS2LE: - case ucr::UCS2BE: - m_charsize = 2; - m_data = lpByte + 2; - unicode = true; - break; - case ucr::UTF8: - if (bom) - m_data = lpByte + 3; - else - m_data = lpByte; - unicode = true; - break; - default: - break; + case ucr::UCS2LE: + case ucr::UCS2BE: + m_charsize = 2; + m_data = lpByte + 2; + unicode = true; + break; + case ucr::UTF8: + if (bom) + m_data = lpByte + 3; + else + m_data = lpByte; + unicode = true; + break; + default: + break; } m_bom = bom; @@ -463,9 +463,9 @@ line.erase(); eol.erase(); LPCTSTR pchLine = (LPCTSTR)m_current; - + // shortcut methods in case file is in the same encoding as our Strings - + #ifdef _UNICODE if (m_unicoding == ucr::UCS2LE) { @@ -560,19 +560,19 @@ } #endif - if (m_current - m_base + (m_charsize-1) >= m_filesize) + if (m_current - m_base + (m_charsize - 1) >= m_filesize) return false; // Handle 8-bit strings in line chunks because of multibyte codings (eg, 936) if (m_unicoding == ucr::NONE) { - bool eof=true; - LPBYTE eolptr=0; - for (eolptr = m_current; (eolptr - m_base + (m_charsize-1) < m_filesize); ++eolptr) + bool eof = true; + LPBYTE eolptr = 0; + for (eolptr = m_current; (eolptr - m_base + (m_charsize - 1) < m_filesize); ++eolptr) { if (*eolptr == '\n' || *eolptr == '\r') { - eof=false; + eof = false; break; } if (*eolptr == 0) @@ -581,16 +581,16 @@ RecordZero(m_txtstats, offset); } } - line = ucr::maketstring((LPCSTR)m_current, eolptr-m_current, m_codepage, lossy); + line = ucr::maketstring((LPCSTR)m_current, eolptr - m_current, m_codepage, lossy); if (lossy && *lossy) ++m_txtstats.nlosses; if (!eof) { - eol += (TCHAR)*eolptr; + eol += (TCHAR) * eolptr; ++m_lineno; if (*eolptr == '\r') { - if (eolptr - m_base + (m_charsize-1) < m_filesize && eolptr[1] == '\n') + if (eolptr - m_base + (m_charsize - 1) < m_filesize && eolptr[1] == '\n') { eol += '\n'; ++m_txtstats.ncrlfs; @@ -606,11 +606,11 @@ return !eof; } - while (m_current - m_base + (m_charsize-1) < m_filesize) + while (m_current - m_base + (m_charsize - 1) < m_filesize) { - UINT ch=0; - UINT utf8len=0; - bool doneline=false; + UINT ch = 0; + UINT utf8len = 0; + bool doneline = false; if (m_unicoding == ucr::UTF8) { @@ -627,7 +627,7 @@ else if (utf8len < 1 || utf8len > 4) { ch = '?'; - utf8len=1; + utf8len = 1; } else { @@ -662,7 +662,7 @@ { // For UTF-8, this ch will be wrong if character is non-ASCII // but we only check it against \n here, so it doesn't matter - UINT ch = ucr::get_unicode_char(m_current+m_charsize, (ucr::UNICODESET)m_unicoding); + UINT ch = ucr::get_unicode_char(m_current + m_charsize, (ucr::UNICODESET)m_unicoding); if (ch == '\n') { crlf = true; @@ -725,8 +725,8 @@ ///////////// UniStdioFile::UniStdioFile() -: m_fp(0) -, m_data(0) + : m_fp(0) + , m_data(0) { m_pucrbuff = new ucr::buffer(128); } @@ -734,7 +734,7 @@ UniStdioFile::~UniStdioFile() { Close(); - delete (ucr::buffer *)m_pucrbuff; + delete(ucr::buffer *)m_pucrbuff; m_pucrbuff = 0; } @@ -781,11 +781,11 @@ } bool UniStdioFile::OpenCreateUtf8(LPCTSTR filename) { - if (!OpenCreate(filename)) + if (!OpenCreate(filename)) return false; SetUnicoding(ucr::UTF8); return true; - + } bool UniStdioFile::Open(LPCTSTR filename, LPCTSTR mode) { @@ -800,7 +800,7 @@ bool UniStdioFile::DoOpen(LPCTSTR filename, LPCTSTR mode) { Close(); - + m_filepath = filename; m_filename = filename; // TODO: Make canonical ? @@ -866,25 +866,25 @@ m_charsize = 1; bool unicode = false; bool bom = false; - + m_unicoding = ucr::DetermineEncoding(buff, bytes, &bom); switch (m_unicoding) { - case ucr::UCS2LE: - case ucr::UCS2BE: - m_charsize = 2; - m_data = 2; - unicode = true; - break; - case ucr::UTF8: - if (bom) - m_data = 3; - else - m_data = 0; - unicode = true; - break; - default: - break; + case ucr::UCS2LE: + case ucr::UCS2BE: + m_charsize = 2; + m_data = 2; + unicode = true; + break; + case ucr::UTF8: + if (bom) + m_data = 3; + else + m_data = 0; + unicode = true; + break; + default: + break; } delete[] buff; @@ -975,8 +975,8 @@ } ucr::buffer * buff = (ucr::buffer *)m_pucrbuff; - ucr::UNICODESET unicoding1=ucr::NONE; - int codepage1=0; + ucr::UNICODESET unicoding1 = ucr::NONE; + int codepage1 = 0; ucr::getInternalEncoding(&unicoding1, &codepage1); // What String & TCHARs represent const unsigned char * src = (const UCHAR *)line.c_str(); size_t srcbytes = line.length() * sizeof(TCHAR); Modified: trunk/Src/Common/UniFile.h =================================================================== --- trunk/Src/Common/UniFile.h 2009-07-26 15:22:14 UTC (rev 6934) +++ trunk/Src/Common/UniFile.h 2009-07-26 16:26:58 UTC (rev 6935) @@ -1,4 +1,4 @@ -/** +/** * @file UniFile.h * @author Perry Rapp, Creator, 2003-2006 * @date Created: 2003-10 @@ -20,7 +20,7 @@ class UniFile { public: - + /** * @brief A struct for error message or error code. */ Modified: trunk/Src/Common/unicoder.cpp =================================================================== --- trunk/Src/Common/unicoder.cpp 2009-07-26 15:22:14 UTC (rev 6934) +++ trunk/Src/Common/unicoder.cpp 2009-07-26 16:26:58 UTC (rev 6935) @@ -32,10 +32,11 @@ #define WC_NO_BEST_FIT_CHARS 0x00000400 #endif -namespace ucr { +namespace ucr +{ // current OS version -static bool f_osvi_fetched=false; +static bool f_osvi_fetched = false; static OSVERSIONINFO f_osvi; /** @@ -132,7 +133,7 @@ } /** - * @brief return #bytes required to represent Unicode codepoint as UTF-8 + * @brief return #bytes required to represent Unicode codepoint as UTF-8 */ int Utf8len_fromCodepoint(unsigned int ch) { @@ -146,7 +147,7 @@ } /** - * @brief How many bytes will it take to write string as UTF-8 ? + * @brief How many bytes will it take to write string as UTF-8 ? * * @param size size argument as filemapping are not 0 terminated * @@ -154,8 +155,8 @@ */ unsigned int Utf8len_of_string(const wchar_t* text, int size) { - unsigned int len=0; - for (int i=0; i<size; ++i) + unsigned int len = 0; + for (int i = 0; i < size; ++i) { int chlen = Utf8len_fromCodepoint(text[i]); if (chlen < 1) chlen = 1; @@ -164,7 +165,7 @@ return len; } /** - * @brief How many chars in this UTF-8 string ? + * @brief How many chars in this UTF-8 string ? * * @param size size argument as filemapping are not 0 terminated * @@ -172,8 +173,8 @@ */ unsigned int stringlen_of_utf8(const char* text, int size) { - unsigned int len=0; - for (int i=0; i<size; ) + unsigned int len = 0; + for (int i = 0; i < size;) { int chlen = Utf8len_fromLeadByte(text[i]); if (chlen < 1) chlen = 1; @@ -189,41 +190,48 @@ unsigned int GetUtf8Char(unsigned char * str) { /* test short cases first, as probably much more common */ - if (!(*str & 0x80 && *str & 0x40)) { + if (!(*str & 0x80 && *str & 0x40)) + { return str[0]; } - if (!(*str & 0x20)) { + if (!(*str & 0x20)) + { unsigned int ch = ((str[0] & 0x1F) << 6) - + (str[1] & 0x3F); + + (str[1] & 0x3F); return ch; } - if (!(*str & 0x10)) { + if (!(*str & 0x10)) + { unsigned int ch = ((str[0] & 0x0f) << 12) - + ((str[1] & 0x3F) << 6) - + (str[2] & 0x3F); + + ((str[1] & 0x3F) << 6) + + (str[2] & 0x3F); return ch; } - if (!(*str & 0x08)) { + if (!(*str & 0x08)) + { unsigned int ch = ((str[0] & 0x0F) << 18) - + ((str[1] & 0x3F) << 12) - + ((str[2] & 0x3F) << 6) - + (str[3] & 0x3F); + + ((str[1] & 0x3F) << 12) + + ((str[2] & 0x3F) << 6) + + (str[3] & 0x3F); return ch; } - if (!(*str & 0x04)) { + if (!(*str & 0x04)) + { unsigned int ch = ((str[0] & 0x0F) << 24) - + ((str[1] & 0x3F) << 18) - + ((str[2] & 0x3F) << 12) - + ((str[3] & 0x3F) << 6) - + (str[4] & 0x3F); + + ((str[1] & 0x3F) << 18) + + ((str[2] & 0x3F) << 12) + + ((str[3] & 0x3F) << 6) + + (str[4] & 0x3F); return ch; - } else { + } + else + { unsigned int ch = ((str[0] & 0x0F) << 30) - + ((str[1] & 0x3F) << 24) - + ((str[2] & 0x3F) << 18) - + ((str[3] & 0x3F) << 12) - + ((str[4] & 0x3F) << 6) - + (str[5] & 0x3F); + + ((str[1] & 0x3F) << 24) + + ((str[2] & 0x3F) << 18) + + ((str[3] & 0x3F) << 12) + + ((str[4] & 0x3F) << 6) + + (str[5] & 0x3F); return ch; } } @@ -322,21 +330,21 @@ wchar_t wch = (wchar_t)unich; if (!lossy) { - static bool vercheck=false; - static bool has_no_best_fit=false; + static bool vercheck = false; + static bool has_no_best_fit = false; if (!vercheck) { if (!f_osvi_fetched) fetch_verinfo(); // Need 2000 (5.x) or 98 (4.10) - has_no_best_fit = f_osvi.dwMajorVersion>=5 || (f_osvi.dwMajorVersion==4 && f_osvi.dwMinorVersion>=10); + has_no_best_fit = f_osvi.dwMajorVersion >= 5 || (f_osvi.dwMajorVersion == 4 && f_osvi.dwMinorVersion >= 10); vercheck = true; } // So far it isn't lossy, so try for lossless conversion TCHAR outch; - BOOL defaulted=FALSE; + BOOL defaulted = FALSE; DWORD flags = has_no_best_fit ? WC_NO_BEST_FIT_CHARS : 0; if (WideCharToMultiByte(codepage, flags, &wch, 1, &outch, 1, NULL, &defaulted) - && !defaulted) + && !defaulted) { String s(1, outch); return s; @@ -344,12 +352,12 @@ lossy = TRUE; } // already lossy, so make our best shot - DWORD flags = WC_COMPOSITECHECK+WC_DISCARDNS+WC_SEPCHARS+WC_DEFAULTCHAR; + DWORD flags = WC_COMPOSITECHECK + WC_DISCARDNS + WC_SEPCHARS + WC_DEFAULTCHAR; TCHAR outbuff[16]; - int n = WideCharToMultiByte(codepage, flags, &wch, 1, outbuff, sizeof(outbuff)-1, NULL, NULL); - if (n>0) + int n = WideCharToMultiByte(codepage, flags, &wch, 1, outbuff, sizeof(outbuff) - 1, NULL, NULL); + if (n > 0) { - outbuff[n] =0; + outbuff[n] = 0; return outbuff; } return _T("?"); @@ -359,7 +367,7 @@ /** * @brief convert 8-bit character input to Unicode codepoint and return it */ -unsigned int byteToUnicode (unsigned char ch) +unsigned int byteToUnicode(unsigned char ch) { static unsigned int codepage = CP_ACP; // NB: Windows always draws in CP_ACP, not CP_THREAD_ACP, so we must use CP_ACP as an internal codepage @@ -370,7 +378,7 @@ /** * @brief convert 8-bit character input to Unicode codepoint and return it */ -unsigned int byteToUnicode (unsigned char ch, unsigned int codepage) +unsigned int byteToUnicode(unsigned char ch, unsigned int codepage) { if (ch < 0x80) @@ -378,8 +386,8 @@ DWORD flags = 0; wchar_t wbuff; - int n = MultiByteToWideChar(codepage, flags, (const char*)&ch, 1, &wbuff, 1); - if (n>0) + int n = MultiByteToWideChar(codepage, flags, (const char*) & ch, 1, &wbuff, 1); + if (n > 0) return wbuff; else return '?'; @@ -482,12 +490,12 @@ LPWSTR wbuff = &*str.begin(); do { - int n = MultiByteToWideChar(codepage, flags, lpd, len, wbuff, wlen-1); + int n = MultiByteToWideChar(codepage, flags, lpd, len, wbuff, wlen - 1); if (n) { /* - NB: MultiByteToWideChar is documented as only zero-terminating - if input was zero-terminated, but it appears that it can + NB: MultiByteToWideChar is documented as only zero-terminating + if input was zero-terminated, but it appears that it can zero-terminate even if input wasn't. So we check if it zero-terminated and adjust count accordingly. */ @@ -505,7 +513,8 @@ } *lossy = true; flags ^= MB_ERR_INVALID_CHARS; - } while (flags == 0 && GetLastError() == ERROR_NO_UNICODE_TRANSLATION); + } + while (flags == 0 && GetLastError() == ERROR_NO_UNICODE_TRANSLATION); str = _T('?'); return str; @@ -528,7 +537,7 @@ #ifndef UNICODE String CrossConvertToStringA(const char* src, unsigned int srclen, int cpin, int cpout, bool * lossy) { - int wlen = srclen*2+6; + int wlen = srclen * 2 + 6; int clen = wlen * 2 + 6; String str; str.resize(clen); @@ -550,9 +559,9 @@ // Convert input to Unicode, using specified codepage DWORD flags = 0; - int wlen = srclen*2+6; + int wlen = srclen * 2 + 6; wchar_t * wbuff = new wchar_t[wlen]; - int n = MultiByteToWideChar(cpin, flags, (const char*)src, srclen, wbuff, wlen-1); + int n = MultiByteToWideChar(cpin, flags, (const char*)src, srclen, wbuff, wlen - 1); if (!n) { int nsyserr = ::GetLastError(); @@ -562,8 +571,8 @@ return 1; } /* - NB: MultiByteToWideChar is documented as only zero-terminating - if input was zero-terminated, but it appears that it can + NB: MultiByteToWideChar is documented as only zero-terminating + if input was zero-terminated, but it appears that it can zero-terminate even if input wasn't. So we check if it zero-terminated and adjust count accordingly. */ @@ -574,14 +583,14 @@ // Now convert to TCHAR (which means defcodepage) flags = WC_NO_BEST_FIT_CHARS; // TODO: Think about this wlen = n; - BOOL defaulted=FALSE; + BOOL defaulted = FALSE; BOOL * pdefaulted = &defaulted; if (cpout == CP_UTF8) { flags = 0; pdefaulted = NULL; } - n = WideCharToMultiByte(cpout, flags, wbuff, n, dest, destsize-1, NULL, pdefaulted); + n = WideCharToMultiByte(cpout, flags, wbuff, n, dest, destsize - 1, NULL, pdefaulted); if (!n) { int nsyserr = ::GetLastError(); @@ -642,11 +651,11 @@ return true; } if ((unicoding1 == UCS2LE && unicoding2 == UCS2BE) - || (unicoding1 == UCS2BE && unicoding2 == UCS2LE)) + || (unicoding1 == UCS2BE && unicoding2 == UCS2LE)) { // simple byte swap dest->resize(srcbytes); - for (int i=0; i<srcbytes; i += 2) + for (int i = 0; i < srcbytes; i += 2) { // Byte-swap into destination dest->ptr[i] = src[i+1]; @@ -671,12 +680,12 @@ int destcp = (unicoding2 == UTF8 ? CP_UTF8 : codepage2); DWORD flags = 0; - int bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes/2, 0, 0, NULL, NULL); + int bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes / 2, 0, 0, NULL, NULL); dest->resize(bytes); int losses = 0; - bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes/2, (char *)dest->ptr, dest->capacity, NULL, NULL); + bytes = WideCharToMultiByte(destcp, flags, (const wchar_t*)src, srcbytes / 2, (char *)dest->ptr, dest->capacity, NULL, NULL); dest->size = bytes; - return losses==0; + return losses == 0; } else { @@ -685,7 +694,7 @@ DWORD flags = 0; int wchars = MultiByteToWideChar(srccp, flags, (const char*)src, srcbytes, 0, 0); dest->resize(wchars*2); - wchars = MultiByteToWideChar(srccp, flags, (const char*)src, srcbytes, (LPWSTR)dest->ptr, dest->capacity/2); + wchars = MultiByteToWideChar(srccp, flags, (const char*)src, srcbytes, (LPWSTR)dest->ptr, dest->capacity / 2); dest->size = wchars * 2; return true; } @@ -697,11 +706,11 @@ * @param [in] size Size of the buffer. * @param [out] pBom Returns true if buffer had BOM bytes, false otherwise. * @return One of UNICODESET values as encoding. - * EF BB BF UTF-8 - * FF FE UTF-16, little endian - * FE FF UTF-16, big endian - * FF FE 00 00 UTF-32, little endian - * 00 00 FE FF UTF-32, big-endian + * EF BB BF UTF-8 + * FF FE UTF-16, little endian + * FE FF UTF-16, big endian + * FF FE 00 00 UTF-32, little endian + * 00 00 FE FF UTF-32, big-endian */ UNICODESET DetermineEncoding(PBYTE pBuffer, __int64 size, bool * pBom) { @@ -731,14 +740,14 @@ } if (size >= 4) { - if (pBuffer[0] == 0xFF && pBuffer[1] == 0xFE && - pBuffer[2] == 0x00 && pBuffer[3] == 0x00) + if (pBuffer[0] == 0xFF && pBuffer[1] == 0xFE && + pBuffer[2] == 0x00 && pBuffer[3] == 0x00) { - unicoding = ucr::UCS4LE; //UTF-32, little endian + unicoding = ucr::UCS4LE; //UTF-32, little endian *pBom = true; } - else if (pBuffer[0] == 0x00 && pBuffer[1] == 0x00 && - pBuffer[2] == 0xFE && pBuffer[3] == 0xFF) + else if (pBuffer[0] == 0x00 && pBuffer[1] == 0x00 && + pBuffer[2] == 0xFE && pBuffer[3] == 0xFF) { unicoding = ucr::UCS4BE; //UTF-32, big endian *pBom = true; @@ -770,7 +779,7 @@ if (cp == CP_THREAD_ACP) // should only happen on Win2000+ { TCHAR buff[32]; - if (GetLocaleInfo(GetThreadLocale(), LOCALE_IDEFAULTANSICODEPAGE, buff, sizeof(buff)/sizeof(buff[0]))) + if (GetLocaleInfo(GetThreadLocale(), LOCALE_IDEFAULTANSICODEPAGE, buff, sizeof(buff) / sizeof(buff[0]))) cp = _ttol(buff); else // a valid codepage is better than no codepage @@ -787,5 +796,5 @@ bool EqualCodepages(int cp1, int cp2) { return (cp1 == cp2) - || (NormalizeCodepage(cp1) == NormalizeCodepage(cp2)); + || (NormalizeCodepage(cp1) == NormalizeCodepage(cp2)); } Modified: trunk/Src/Common/unicoder.h =================================================================== --- trunk/Src/Common/unicoder.h 2009-07-26 15:22:14 UTC (rev 6934) +++ trunk/Src/Common/unicoder.h 2009-07-26 16:26:58 UTC (rev 6935) @@ -5,7 +5,7 @@ * @date Edited: 2006-02-20 (Perry Rapp) * * @brief Declaration of utility unicode conversion routines - */ + */ // ID line follows -- this is updated by SVN // $Id$ @@ -14,12 +14,14 @@ #include "UnicodeString.h" -namespace ucr { +namespace ucr +{ /** * @brief A simple buffer struct. */ -struct buffer { +struct buffer +{ unsigned char * ptr; /**< Pointer to a buffer. */ unsigned int capacity; /**< Buffer's size in bytes. */ unsigned int size; /**< Size of the data in the buffer, <= capacity. */ @@ -49,7 +51,7 @@ int to_utf8_advance(unsigned int u, unsigned char * &lpd); String maketchar(unsigned int ch, bool & lossy); int writeBom(void* dest, UNICODESET unicoding); -unsigned int get_unicode_char(unsigned char * ptr, UNICODESET unicoding, int codepage=0); +unsigned int get_unicode_char(unsigned char * ptr, UNICODESET unicoding, int codepage = 0); String maketstring(const char* lpd, unsigned int len, int codepage, bool * lossy); String maketchar(unsigned int unich, bool & lossy); String maketchar(unsigned int unich, bool & lossy, unsigned int codepage); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-12-26 19:49:24
|
Revision: 7056 http://winmerge.svn.sourceforge.net/winmerge/?rev=7056&view=rev Author: kimmov Date: 2009-12-26 19:49:14 +0000 (Sat, 26 Dec 2009) Log Message: ----------- Make UniError::GetError() a const method. Modified Paths: -------------- trunk/Src/Common/UniFile.cpp trunk/Src/Common/UniFile.h Modified: trunk/Src/Common/UniFile.cpp =================================================================== --- trunk/Src/Common/UniFile.cpp 2009-12-26 13:42:28 UTC (rev 7055) +++ trunk/Src/Common/UniFile.cpp 2009-12-26 19:49:14 UTC (rev 7056) @@ -78,7 +78,7 @@ * @brief Get the error string. * @return Error string. */ -String UniFile::UniError::GetError() +String UniFile::UniError::GetError() const { String sError; if (apiname.empty()) Modified: trunk/Src/Common/UniFile.h =================================================================== --- trunk/Src/Common/UniFile.h 2009-12-26 13:42:28 UTC (rev 7055) +++ trunk/Src/Common/UniFile.h 2009-12-26 19:49:14 UTC (rev 7056) @@ -33,7 +33,7 @@ UniError(); bool HasError() const; void ClearError(); - String GetError(); + String GetError() const; }; virtual ~UniFile() { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jt...@us...> - 2010-05-16 13:15:41
|
Revision: 7167 http://winmerge.svn.sourceforge.net/winmerge/?rev=7167&view=rev Author: jtuc Date: 2010-05-16 13:15:33 +0000 (Sun, 16 May 2010) Log Message: ----------- Relate definition of NCHITTEST_RESULT to _MFC_VER, not _MSC_VER, to enable use of VS2010 Express in conjunction with MFC71 Modified Paths: -------------- trunk/Src/Common/scbarg.h trunk/Src/Common/sizecbar.h Modified: trunk/Src/Common/scbarg.h =================================================================== --- trunk/Src/Common/scbarg.h 2010-05-16 12:05:13 UTC (rev 7166) +++ trunk/Src/Common/scbarg.h 2010-05-16 13:15:33 UTC (rev 7167) @@ -35,7 +35,7 @@ // MFC 8/VS.NET 2005 has breaking change in OnNcHitTest return value #ifndef NCHITTEST_RESULT -#if _MSC_VER >= 1400 +#if _MFC_VER >= 0x0800 #define NCHITTEST_RESULT LRESULT #else #define NCHITTEST_RESULT UINT Modified: trunk/Src/Common/sizecbar.h =================================================================== --- trunk/Src/Common/sizecbar.h 2010-05-16 12:05:13 UTC (rev 7166) +++ trunk/Src/Common/sizecbar.h 2010-05-16 13:15:33 UTC (rev 7167) @@ -38,7 +38,7 @@ // MFC 8/VS.NET 2005 has breaking change in OnNcHitTest return value #ifndef NCHITTEST_RESULT -#if _MSC_VER >= 1400 +#if _MFC_VER >= 0x0800 #define NCHITTEST_RESULT LRESULT #else #define NCHITTEST_RESULT UINT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ge...@us...> - 2010-11-24 07:19:01
|
Revision: 7444 http://winmerge.svn.sourceforge.net/winmerge/?rev=7444&view=rev Author: gerundt Date: 2010-11-24 07:18:55 +0000 (Wed, 24 Nov 2010) Log Message: ----------- PATCH: [ 3116422 ] Drop dirtools.[cpp|h] Removed Paths: ------------- trunk/Src/Common/dirtools.cpp trunk/Src/Common/dirtools.h Deleted: trunk/Src/Common/dirtools.cpp =================================================================== --- trunk/Src/Common/dirtools.cpp 2010-11-22 13:06:28 UTC (rev 7443) +++ trunk/Src/Common/dirtools.cpp 2010-11-24 07:18:55 UTC (rev 7444) @@ -1,367 +0,0 @@ -/* dirtools.cpp : implementation of the ::SHBrowseForFolder function - -PROTOTYPES: - ChooseFile - GetUNCPath - ChooseFolderFromMyComputer - ChooseFolderBelowCurrentFolder - ChooseFolderStartCurrentFolder - ChooseFolderBelowProgramsFolder - -DEPENDENCIES: - mpr.lib -*/ - -#include "StdAfx.h" -#include "dirtools.h" - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -BOOL ChooseFile( CString& strResult, - LPCTSTR szStartPath /* = NULL */, - LPCTSTR szCaption /* = "Open" */, - LPCTSTR szFilter /* = "All Files (*.*)|*.*||" */, - BOOL bOpenDlg /* = TRUE */) -// displays a shell file selector -{ - CFileDialog dlg(bOpenDlg, NULL, NULL, - OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | (bOpenDlg? OFN_FILEMUSTEXIST:0) , szFilter); - dlg.m_ofn.lpstrTitle = (LPTSTR)szCaption; - dlg.m_ofn.lpstrInitialDir = (LPTSTR)szStartPath; - if (dlg.DoModal()==IDOK) - { - strResult = dlg.GetPathName(); - return TRUE; - } - strResult = _T(""); - return FALSE; -} - - -BOOL GetUNCPath(LPCTSTR szDrivePath, LPTSTR szUNC) -// converts a filename from x:\... style to \\computer\share... style -{ - TCHAR pBuf[MAX_PATH]; - DWORD dwSize = sizeof(pBuf); - - switch (WNetGetUniversalName(szDrivePath, UNIVERSAL_NAME_INFO_LEVEL, pBuf, &dwSize)) - { - case NO_ERROR: - _tcscpy(szUNC, ((UNIVERSAL_NAME_INFO*)pBuf)->lpUniversalName); - TRACE(_T("UNC name = %s\n"), ((UNIVERSAL_NAME_INFO*)pBuf)->lpUniversalName); - break; - case ERROR_NOT_CONNECTED: // Local - TRACE(_T("GetUNCPath: Path is not redirected\n")); - *szUNC = _T('\0'); - break; - default: - TRACE(_T("GetUNCPath: Error\n")); - *szUNC = _T('\0'); - break; - } - return (*szUNC != _T('\0')); -} - - - - -int CALLBACK BrowseCallback(HWND hWnd, UINT uMsg, LPARAM /*lParam*/, LPARAM lpData) -{ - if (uMsg == BFFM_INITIALIZED) - { - SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lpData); - } - return 0; -} - - - -//////////////////////////////////////////////// -// basic browse from Listing A in article -//////////////////////////////////////////////// -BOOL ChooseFolderFromMyComputer(LPTSTR szBuf, LPCTSTR szTitle /*=NULL*/) -{ - // Retrieve the task memory allocator. - LPMALLOC pIMalloc; - if (!SUCCEEDED(::SHGetMalloc(&pIMalloc))) - { - TRACE(_T("SHGetMalloc failed.\n")); - return FALSE; - } - - // Initialize a BROWSEINFO structure, - BROWSEINFO brInfo; - ::ZeroMemory(&brInfo, sizeof(brInfo)); - - brInfo.hwndOwner = - AfxGetMainWnd()->GetSafeHwnd(); - brInfo.pidlRoot = NULL; - brInfo.pszDisplayName = szBuf; - brInfo.lpszTitle = szTitle; - - // only want folders (no printers, etc.) - brInfo.ulFlags = BIF_RETURNONLYFSDIRS; - - // Display the browser. - ITEMIDLIST* browseList = NULL; - browseList = ::SHBrowseForFolder(&brInfo); - - // if the user selected a folder . . . - if (browseList) - { - // Convert the item ID to a pathname, - //char szBuf[MAX_PATH]; - if(::SHGetPathFromIDList(browseList, - szBuf)) - { - //AfxMessageBox(szBuf); - TRACE1("You chose==>%s\n",szBuf); - - } - - // Free the PIDL - pIMalloc->Free(browseList); - } - else - { - *szBuf=_T('\0'); - //AfxMessageBox("Canceled browse."); - } - - // Decrement ref count on the allocator - pIMalloc->Release(); - return (*szBuf != _T('\0')); -} - - - -//////////////////////////////////////////////// -// allow user to browse only the current folder -// and those below it -//////////////////////////////////////////////// -BOOL ChooseFolderBelowCurrentFolder(LPTSTR szBuf, LPCTSTR szTitle /*=NULL*/) -{ - // Retrieve the task memory allocator. - LPMALLOC pIMalloc; - if (!SUCCEEDED(::SHGetMalloc(&pIMalloc))) - { - TRACE(_T("SHGetMalloc failed.\n")); - return FALSE; - } - - // Initialize a BROWSEINFO structure, - BROWSEINFO brInfo; - ::ZeroMemory(&brInfo, sizeof(brInfo)); - - brInfo.hwndOwner = - AfxGetMainWnd()->GetSafeHwnd(); - brInfo.pidlRoot = NULL; - brInfo.pszDisplayName = szBuf; - brInfo.lpszTitle = szTitle; - brInfo.ulFlags = BIF_RETURNONLYFSDIRS; - - // Prepare to create a PIDL - LPSHELLFOLDER pIShell; - TCHAR szPath[MAX_PATH]; - OLECHAR szOlePath[MAX_PATH]; - - // get dir & convert to unicode - ::GetCurrentDirectory(MAX_PATH, szPath); -#ifndef _UNICODE - MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, - szPath, -1, - szOlePath, MAX_PATH); -#else - _tcscpy(szOlePath, szPath); -#endif - - // Get Desktop's IShellFolder interface - if(FAILED(::SHGetDesktopFolder(&pIShell))) - { - TRACE0("Can't get desktop folder\n"); - return FALSE; - } - - LPITEMIDLIST pidlRoot=NULL; - ULONG pchEaten; - ULONG dwAttr; - - // convert the path to an item id list & browse - if(SUCCEEDED(::SHGetMalloc(&pIMalloc))) - { - if(SUCCEEDED(pIShell->ParseDisplayName( - AfxGetMainWnd()->GetSafeHwnd(), - NULL, - szOlePath, - &pchEaten, - &pidlRoot, - &dwAttr))) - { - brInfo.pidlRoot = pidlRoot; - } - } - - // Display the browser. - ITEMIDLIST* browseList = NULL; - browseList = ::SHBrowseForFolder(&brInfo); - - // if the user selected a folder . . . - if (browseList) - { - // Convert the item ID to a pathname, - //char szBuf[MAX_PATH]; - if(::SHGetPathFromIDList(browseList, - szBuf)) - { - //AfxMessageBox(szBuf); - TRACE1("You chose==>%s\n",szBuf); - } - - // Free the PIDL - pIMalloc->Free(browseList); - } - else - { - *szBuf=_T('\0'); - //AfxMessageBox("Canceled browse."); - } - - pIMalloc->Free(pidlRoot); - pIShell->Release(); - pIMalloc->Release(); - return (*szBuf != _T('\0')); -} - - -// start the browse in the current directory -// but allow user to browse entire namespace -BOOL ChooseFolderStartCurrentFolder(LPTSTR szBuf, LPCTSTR szTitle /*=NULL*/) -{ - // Retrieve the task memory allocator. - LPMALLOC pIMalloc; - if (!SUCCEEDED(::SHGetMalloc(&pIMalloc))) - { - TRACE(_T("SHGetMalloc failed.\n")); - return FALSE; - } - - // Initialize a BROWSEINFO structure, - BROWSEINFO brInfo; - ::ZeroMemory(&brInfo, sizeof(brInfo)); - - brInfo.hwndOwner = AfxGetMainWnd()->GetSafeHwnd(); - brInfo.pidlRoot = NULL; - brInfo.pszDisplayName = szBuf; - brInfo.lpszTitle = szTitle; - brInfo.ulFlags = BIF_RETURNONLYFSDIRS; - - // get current dir - TCHAR lpszHere[MAX_PATH]; - ::GetCurrentDirectory(MAX_PATH, lpszHere); - brInfo.lParam = (LPARAM)lpszHere; - - // set callback address - brInfo.lpfn = BrowseCallback; - - // Display the browser. - ITEMIDLIST* browseList = NULL; - browseList = ::SHBrowseForFolder(&brInfo); - - // if the user selected a folder . . . - if (browseList) - { - // Convert the item ID to a pathname, - //char szBuf[MAX_PATH]; - if(::SHGetPathFromIDList(browseList, - szBuf)) - { - //AfxMessageBox(szBuf); - TRACE1("You chose==>%s\n",szBuf); - } - - // Free the PIDL - pIMalloc->Free(browseList); - } - else - { - *szBuf=_T('\0'); - //AfxMessageBox("Canceled browse."); - } - pIMalloc->Release(); - return (*szBuf != _T('\0')); -} - - - -//////////////////////////////////////////////// -// Browse a system folder. -// Not discussed in article -//////////////////////////////////////////////// -BOOL ChooseBelowSpecialFolder(LPTSTR szBuf, int idFolder, LPCTSTR szTitle /*=NULL*/) -// common values for idFolder are CSIDL_DRIVES, CSIDL_NETWORK, CSIDL_PERSONAL -{ - LPMALLOC pIMalloc; - if(!SUCCEEDED(::SHGetMalloc(&pIMalloc))) - { - TRACE(_T("SHGetMalloc failed.\n")); - return FALSE; - } - - // Initialize a BROWSEINFO structure, - BROWSEINFO brInfo; - ::ZeroMemory(&brInfo, sizeof(brInfo)); - - brInfo.hwndOwner = AfxGetMainWnd()->GetSafeHwnd(); - brInfo.pidlRoot = NULL; - brInfo.pszDisplayName = szBuf; - brInfo.lpszTitle = szTitle; - brInfo.ulFlags = BIF_RETURNONLYFSDIRS; - - // build a pidl for a system folder - LPITEMIDLIST pidlRoot; - if(!SUCCEEDED(SHGetSpecialFolderLocation( - AfxGetMainWnd()->GetSafeHwnd(), - idFolder, - &pidlRoot))) - { - TRACE(_T("SHGetSpecialFolderLocation failed.\n")); - pIMalloc->Release(); - return FALSE; - } - brInfo.pidlRoot = pidlRoot; - - // Display the browser. - ITEMIDLIST* browseList = NULL; - browseList = ::SHBrowseForFolder(&brInfo); - - // if the user selected a folder . . . - if (browseList) - { - // Convert the item ID to a pathname, - //char szBuf[MAX_PATH]; - if(::SHGetPathFromIDList(browseList, - szBuf)) - { - //AfxMessageBox(szBuf); - TRACE1("You chose==>%s\n",szBuf); - } - - // Free the PIDL - pIMalloc->Free(browseList); - } - else - { - *szBuf=_T('\0'); - //AfxMessageBox("Canceled browse."); - } - - pIMalloc->Free(pidlRoot); - pIMalloc->Release(); - return (*szBuf != _T('\0')); -} - - Deleted: trunk/Src/Common/dirtools.h =================================================================== --- trunk/Src/Common/dirtools.h 2010-11-22 13:06:28 UTC (rev 7443) +++ trunk/Src/Common/dirtools.h 2010-11-24 07:18:55 UTC (rev 7444) @@ -1,23 +0,0 @@ -// dirtools.h : -// -///////////////////////////////////////////////////////////////////////////// -#ifndef DIRTOOLS_H -#define DIRTOOLS_H -#include <shlobj.h> - -BOOL ChooseFile( CString& strResult, - LPCTSTR szStartPath = NULL, - LPCTSTR szCaption = _T("Open"), - LPCTSTR szFilter = _T("All Files (*.*)|*.*||"), - BOOL bOpenDlg = TRUE); - -BOOL GetUNCPath(LPCTSTR szDrivePath, LPTSTR szUNC); - -BOOL ChooseFolderFromMyComputer(LPTSTR szBuf, LPCTSTR szTitle =NULL); -BOOL ChooseFolderBelowCurrentFolder(LPTSTR szBuf, LPCTSTR szTitle =NULL); -BOOL ChooseFolderStartCurrentFolder(LPTSTR szBuf, LPCTSTR szTitle =NULL); -BOOL ChooseBelowSpecialFolder(LPTSTR szBuf, int idFolder, LPCTSTR szTitle =NULL); - -#endif - -///////////////////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ge...@us...> - 2013-03-24 10:06:03
|
Revision: 7614 http://sourceforge.net/p/winmerge/code/7614 Author: gerundt Date: 2013-03-24 10:06:01 +0000 (Sun, 24 Mar 2013) Log Message: ----------- Use FILEOP_FLAGS type at ShellFileOperations::SetOperation() Modified Paths: -------------- trunk/Src/Common/ShellFileOperations.cpp trunk/Src/Common/ShellFileOperations.h Modified: trunk/Src/Common/ShellFileOperations.cpp =================================================================== --- trunk/Src/Common/ShellFileOperations.cpp 2013-03-17 19:47:32 UTC (rev 7613) +++ trunk/Src/Common/ShellFileOperations.cpp 2013-03-24 10:06:01 UTC (rev 7614) @@ -154,7 +154,7 @@ * @param [in] flags Flags related to the operation. * @param [in] parentWindow Window getting notifications. */ -void ShellFileOperations::SetOperation(UINT operation, DWORD flags, +void ShellFileOperations::SetOperation(UINT operation, FILEOP_FLAGS flags, HWND parentWindow /*= NULL*/) { m_function = operation; Modified: trunk/Src/Common/ShellFileOperations.h =================================================================== --- trunk/Src/Common/ShellFileOperations.h 2013-03-17 19:47:32 UTC (rev 7613) +++ trunk/Src/Common/ShellFileOperations.h 2013-03-24 10:06:01 UTC (rev 7614) @@ -40,7 +40,7 @@ void AddSourceAndDestination(const String &source, const String &destination); void AddSource(const String &source); void SetDestination(const String &destination); - void SetOperation(UINT operation, DWORD flags, HWND parentWindow = NULL); + void SetOperation(UINT operation, FILEOP_FLAGS flags, HWND parentWindow = NULL); bool Run(); bool IsCanceled() const; void Reset(); @@ -53,7 +53,7 @@ std::vector<String> m_sources; /**< Source paths. */ std::vector<String> m_destinations; /**< Destination paths. */ UINT m_function; /**< Operation used, copy, move, rename or delete. */ - DWORD m_flags; /**< Flags for the operation. */ + FILEOP_FLAGS m_flags; /**< Flags for the operation. */ HWND m_parentWindow; /**< Parent window getting notifications. */ bool m_bOneToOneMapping; /**< Same amount of sources and destinations? */ bool m_isCanceled; /**< Did user cancel the operation? */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |