Index: InnoSetup/Info.txt =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/InnoSetup/Info.txt,v retrieving revision 1.3 diff -c -r1.3 Info.txt *** InnoSetup/Info.txt 1 Dec 2004 22:08:48 -0000 1.3 --- InnoSetup/Info.txt 5 Feb 2006 23:11:53 -0000 *************** *** 1,17 **** ! Welcome to WinCvs, a graphical front-end for Concurent Versions System (CVS). ! You can find more information about WinCvs at: ! http://www.wincvs.org ! http://cvsgui.sourceforge.net/ You can find more information about CVSNT at: ! http://www.cvsnt.org ! You can find more information about cvs at: ! http://www.cvshome.org ! If you have any questions, subscribe to the CvsGui mailing list: ! http://groups.yahoo.com/subscribe/cvsgui You need a recent version of comctl32.dll and comdlg32.dll in order to run WinCvs. You can find the latest updates to Common Control Library at: --- 1,14 ---- ! Welcome to WinCvs an alternative graphical front-end for CVSNT - please use WorkspaceManager wherever possible. ! You can find more information about CVS Suite at: ! http://www.march-hare.com/cvsnt/ You can find more information about CVSNT at: ! http://www.march-hare.com/cvspro/ ! If you have any questions then please read the eBook. ! If you have any questions not answered by the eBook please contact technical support - see page 7 of the eBook. You need a recent version of comctl32.dll and comdlg32.dll in order to run WinCvs. You can find the latest updates to Common Control Library at: Index: WinCvs/CvsrootEntryDlg.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/CvsrootEntryDlg.cpp,v retrieving revision 1.2 diff -c -r1.2 CvsrootEntryDlg.cpp *** WinCvs/CvsrootEntryDlg.cpp 8 Apr 2006 19:57:29 -0000 1.2 --- WinCvs/CvsrootEntryDlg.cpp 18 Jul 2006 03:45:21 -0000 *************** *** 34,39 **** --- 34,45 ---- static char THIS_FILE[] = __FILE__; #endif + #ifdef MARCH_HARE_MODS + #include + #include + #endif /* MARCH_HARE_MODS */ + + using namespace std; ///////////////////////////////////////////////////////////////////////////// *************** *** 101,112 **** --- 107,138 ---- { CString strCvsroot; m_cvsrootCombo.GetWindowText(strCvsroot); + + #ifdef MARCH_HARE_MODS + if(!gCvsPrefs.UseWizard()) + { + bool myresult; + CBrowserDialog dlg(::GetActiveWindow()); + CRootSplitter split; + if((myresult=dlg.ShowDialog(CBrowserDialog::BDShowDefault, + "Select repository"))) + { + split.Split( dlg.getRoot() ); + m_cvsrootCombo.SetWindowText( split.Join(false) ); + //SetDlgItemText(hwndDlg, IDC_EDIT2, dlg.getModule()); + //SetDlgItemText(hwndDlg, IDC_EDIT11, dlg.getTag()); + } + } else { + #endif /* MARCH_HARE_MODS */ string cvsroot(strCvsroot); if( CompatGetCvsRoot(cvsroot) ) { m_cvsrootCombo.SetWindowText(cvsroot.c_str()); } + #ifdef MARCH_HARE_MODS + } + #endif /* MARCH_HARE_MODS */ } /// BN_CLICKED message handler, enable controls Index: WinCvs/GraphView.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/GraphView.cpp,v retrieving revision 1.70 diff -c -r1.70 GraphView.cpp *** WinCvs/GraphView.cpp 9 Apr 2006 22:33:35 -0000 1.70 --- WinCvs/GraphView.cpp 18 Jul 2006 02:01:42 -0000 *************** *** 531,537 **** else dc.SelectObject(&pen2); ! float y = (float)topY + (float)(botY - topY) * (float)count / (float)tot; int rigX = cb.TopLeft().x - 4; float x = (float)rigX - (float)(rigX - lefX) * (float)count / (float)tot; --- 531,537 ---- else dc.SelectObject(&pen2); ! LPARAM y = (LPARAM)topY + (LPARAM)(botY - topY) * (LPARAM)count / (LPARAM)tot; int rigX = cb.TopLeft().x - 4; float x = (float)rigX - (float)(rigX - lefX) * (float)count / (float)tot; Index: WinCvs/MMenuString.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/MMenuString.cpp,v retrieving revision 1.3 diff -c -r1.3 MMenuString.cpp *** WinCvs/MMenuString.cpp 8 Apr 2006 23:54:48 -0000 1.3 --- WinCvs/MMenuString.cpp 18 Jul 2006 01:11:56 -0000 *************** *** 40,47 **** --- 40,52 ---- \param uniqueName Unique name \param defaultStr NULL terminated set of strings */ + #ifdef MARCH_HARE_MODS + CMMenuString::CMMenuString(unsigned int maxstr, const char* uniqueName, char* const* defaultStr /*= 0L*/) + : CPersistent(uniqueName, kNoClass, false), m_maxStr(maxstr) + #else CMMenuString::CMMenuString(unsigned int maxstr, const char* uniqueName, char* const* defaultStr /*= 0L*/) : CPersistent(uniqueName, kNoClass), m_maxStr(maxstr) + #endif /* MARCH_HARE_MODS */ { if( defaultStr != NULL ) { Index: WinCvs/MainFrm.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/MainFrm.cpp,v retrieving revision 1.75 diff -c -r1.75 MainFrm.cpp *** WinCvs/MainFrm.cpp 12 May 2006 20:38:42 -0000 1.75 --- WinCvs/MainFrm.cpp 18 Jul 2006 01:07:21 -0000 *************** *** 69,76 **** --- 69,81 ---- ////////////////////////////////////////////////////////////////////////// // CWinPlacement + #ifdef MARCH_HARE_MODS + CWinPlacement::CWinPlacement(const char* uniqueName) + : CPersistent(uniqueName, kNoClass, false) + #else CWinPlacement::CWinPlacement(const char* uniqueName) : CPersistent(uniqueName, kNoClass) + #endif /* MARCH_HARE_MODS */ { m_hasOne = false; } Index: WinCvs/StdAfx.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/StdAfx.h,v retrieving revision 1.20 diff -c -r1.20 StdAfx.h *** WinCvs/StdAfx.h 20 Feb 2006 19:41:10 -0000 1.20 --- WinCvs/StdAfx.h 18 Jul 2006 01:57:32 -0000 *************** *** 27,33 **** --- 27,37 ---- #include // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT + #ifdef MARCH_HARE_MODS + // why use sockets? + #else #include // MFC socket extensions + #endif /* MARCH_HARE_MODS */ #include // MFC Multithreaded Extensions #include // HTML Help Index: WinCvs/resource.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/resource.h,v retrieving revision 1.146 diff -c -r1.146 resource.h *** WinCvs/resource.h 11 Feb 2006 19:07:47 -0000 1.146 --- WinCvs/resource.h 28 May 2006 19:27:15 -0000 *************** *** 103,108 **** --- 103,111 ---- #define IDC_TIPSTRING 1007 #define IDC_ENCRYPTION 1008 #define IDC_UNIX_LF 1009 + #ifdef MARCH_HARE_MODS + #define IDC_USE_WIZARD 1010 + #endif /* MARCH_HARE_MODS */ #define IDC_NO_SPLASH_SCREEN 1011 #define IDC_CONTROL_ADDED_FILES 1013 #define IDC_FILEPATH 1014 *************** *** 484,490 **** --- 487,497 ---- #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 236 #define _APS_NEXT_COMMAND_VALUE 33009 + #ifdef MARCH_HARE_MODS #define _APS_NEXT_CONTROL_VALUE 1299 + #else + #define _APS_NEXT_CONTROL_VALUE 1299 + #endif /* MARCH_HARE_MODS */ #define _APS_NEXT_SYMED_VALUE 115 #endif #endif Index: WinCvs/version_no.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/version_no.h,v retrieving revision 1.34 diff -c -r1.34 version_no.h *** WinCvs/version_no.h 3 Feb 2006 01:14:34 -0000 1.34 --- WinCvs/version_no.h 18 Jul 2006 02:34:34 -0000 *************** *** 26,34 **** --- 26,40 ---- #pragma once // WinCvs version + #ifdef MARCH_HARE_MODS #define WINCVS_PRODUCT_MAJOR 2 #define WINCVS_PRODUCT_MINOR 0 #define WINCVS_PRODUCT_PATCHLEVEL 3 + #else + #define WINCVS_PRODUCT_MAJOR 2 + #define WINCVS_PRODUCT_MINOR 0 + #define WINCVS_PRODUCT_PATCHLEVEL 3 + #endif /* MARCH_HARE_MODS */ #define WINCVS_FILE_MAJOR WINCVS_PRODUCT_MAJOR #define WINCVS_FILE_MINOR WINCVS_PRODUCT_MINOR *************** *** 37,43 **** --- 43,53 ---- // manually increment these when declaring a build. // Ideally, tag the repository with the build number // so a build can be reproduced. + #ifdef MARCH_HARE_MODS + #define WINCVS_BUILD 2382 + #else #define WINCVS_BUILD 1 + #endif /* MARCH_HARE_MODS */ // // Example preprocessor definitions. *************** *** 51,57 **** // #define WINCVS_RELEASE ! #define WINCVS_PRIVATE_BUILD "Local" ////////////////////////////////////////////////////////////////////////// // Preprocessor definitions (for version_no.h) --- 61,67 ---- // #define WINCVS_RELEASE ! #define WINCVS_PRIVATE_BUILD "march-hare.com" ////////////////////////////////////////////////////////////////////////// // Preprocessor definitions (for version_no.h) Index: WinCvs/wincvs.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/wincvs.cpp,v retrieving revision 1.120 diff -c -r1.120 wincvs.cpp *** WinCvs/wincvs.cpp 9 Apr 2006 18:14:17 -0000 1.120 --- WinCvs/wincvs.cpp 18 Jul 2006 01:57:33 -0000 *************** *** 334,339 **** --- 334,342 ---- (!(m_nCmdShow & SW_SHOWMINIMIZED)) && cmdInfo.m_bShowSplash); } + #ifdef MARCH_HARE_MODS + // why use sockets? + #else if( !AfxSocketInit() ) { CString errorMsg; *************** *** 345,350 **** --- 348,354 ---- return FALSE; } + #endif /* MARCH_HARE_MODS */ AfxEnableControlContainer(); *************** *** 368,373 **** --- 372,426 ---- // You should modify this string to be something appropriate // such as the name of your company or organization. SetRegistryKey(_T("WinCvs")); + #ifdef MARCH_HARE_MODS + TCHAR *ppData, *peData, *pnData, *lastposa, *lastposb; + DWORD pBytes=1000, resBytes, peBytes=1000, reseBytes, pnBytes=0; + HANDLE heapHandle = GetProcessHeap(); + + // get the current PATH + peData=(TCHAR *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(peBytes+1)); + reseBytes=GetEnvironmentVariable("PATH",peData,pBytes); + while (reseBytes==peBytes) { + HeapFree(heapHandle,0,peData); + peBytes=peBytes*2; + peData=(TCHAR *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(peBytes+1)); + reseBytes=GetEnvironmentVariable("PATH",peData,pBytes); + } + if(reseBytes>0) { + + // get the location of the .EXE + ppData=(TCHAR *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(pBytes+1)); + resBytes=GetModuleFileName(NULL,ppData,pBytes); + while (resBytes==pBytes) { + HeapFree(heapHandle,0,ppData); + pBytes=pBytes*2; + ppData=(TCHAR *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(pBytes+1)); + resBytes=GetModuleFileName(NULL,ppData,pBytes); + } + + if(resBytes>0) { + pnBytes = peBytes + pBytes + 100; + pnData=(TCHAR *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(pnBytes+1)); + if (pnData!=NULL) { + strcpy(pnData,peData); + if ((lastposa=strrchr(ppData,'\\'))!=NULL) { + *(lastposa)='\0'; + if ((lastposb=strrchr(ppData,'\\'))!=NULL) { + *(lastposb)='\0'; + strcat(pnData,";"); + strcat(pnData,ppData); + strcat(pnData,"\\CVSNT"); + SetEnvironmentVariable("PATH",pnData); + } + } + HeapFree(heapHandle,0,pnData); + } + HeapFree(heapHandle,0,ppData); + } + + HeapFree(heapHandle,0,peData); + } + #endif /* MARCH_HARE_MODS */ LoadStdProfileSettings(5); // Load standard INI file options (including MRU) gCvsPrefs.load(); *************** *** 644,650 **** --- 697,706 ---- { CHHelpDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) + #ifdef MARCH_HARE_MODS + #else DDX_Control(pDX, IDC_CVSGUISFURL, m_CvsGuiSfUrl); + #endif /* MARCH_HARE_MODS */ DDX_Control(pDX, IDC_WINCVSURL, m_WinCvsUrl); DDX_Text(pDX, IDC_WINCVSVER, m_vers); //}}AFX_DATA_MAP *************** *** 662,669 **** --- 718,729 ---- CHHelpDialog::OnInitDialog(); // Extra initialization + #ifdef MARCH_HARE_MODS + m_WinCvsUrl.SetLink(_T("http://www.march-hare.com/cvsnt/")); + #else m_WinCvsUrl.SetLink(_T("http://www.wincvs.org")); m_CvsGuiSfUrl.SetLink(_T("http://cvsgui.sourceforge.net/")); + #endif /* MARCH_HARE_MODS */ return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE *************** *** 673,679 **** --- 733,742 ---- { SetCtrlHelpID(IDC_WINCVSVER, IDH_IDC_WINCVSVER); SetCtrlHelpID(IDC_WINCVSURL, IDH_IDC_WINCVSURL); + #ifdef MARCH_HARE_MODS + #else SetCtrlHelpID(IDC_CVSGUISFURL, IDH_IDC_CVSGUISFURL); + #endif /* MARCH_HARE_MODS */ } /// App command to run the dialog *************** *** 1022,1029 **** void CWincvsApp::OnAppCopyrights() { ! cvs_out("\nCvsGui, CVSNT and CVS are distributed under the terms of\n"); cvs_out("the GNU General Public License (GPL).\n\n"); cvs_out("* WinCvs: maintained by Jerzy Kaczorowski \n"); cvs_out("* MacCVS: maintained by Alexandre Parenteau \n"); cvs_out("* gCvs: maintained by Karl-Heinz Bruenen \n"); --- 1085,1093 ---- void CWincvsApp::OnAppCopyrights() { ! cvs_out("\nCvsGui, CVSNT is distributed under the terms of\n"); cvs_out("the GNU General Public License (GPL).\n\n"); + cvs_out("* Suite: maintained by march-hare.com\n"); cvs_out("* WinCvs: maintained by Jerzy Kaczorowski \n"); cvs_out("* MacCVS: maintained by Alexandre Parenteau \n"); cvs_out("* gCvs: maintained by Karl-Heinz Bruenen \n"); *************** *** 1074,1086 **** cvs_out("\t* Other contributors (see the ChangeLog)\n"); // More info ! cvs_out("- WinCvs page : http://cvsgui.sourceforge.net/ or http://www.wincvs.org\n"); ! cvs_out("- CVSNT page : http://www.cvsnt.org\n"); ! cvs_out("- CVS page : http://www.cvshome.org\n"); ! cvs_out("- WinCvs documentation : Don Harper .\n"); ! cvs_out("- WinHelp cvs documentation : Norbert Klamann.\n"); cvs_out("- Special thanks to :\n"); cvs_out("\t* The Strata Inc. developpers who are so patients with WinCvs\n"); cvs_out("\t and help to identify a lot of problems.\n"); cvs_out("\t* All the people who are submitting bugs, patches and\n"); --- 1138,1149 ---- cvs_out("\t* Other contributors (see the ChangeLog)\n"); // More info ! cvs_out("- CVSNT page : http://www.march-hare.com/cvspro/\n"); ! cvs_out("- CVS Suite page : http://www.march-hare.com/cvsnt/\n"); cvs_out("- Special thanks to :\n"); + cvs_out("\t* Don Harper for WinCvs documentation.\n"); + cvs_out("\t* Norbert Klamann for WinHelp cvs documentation.\n"); cvs_out("\t* The Strata Inc. developpers who are so patients with WinCvs\n"); cvs_out("\t and help to identify a lot of problems.\n"); cvs_out("\t* All the people who are submitting bugs, patches and\n"); Index: WinCvs/wincvs.rc =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/wincvs.rc,v retrieving revision 1.231 diff -c -r1.231 wincvs.rc *** WinCvs/wincvs.rc 7 Apr 2006 22:40:38 -0000 1.231 --- WinCvs/wincvs.rc 18 Jul 2006 02:55:59 -0000 *************** *** 776,781 **** --- 776,795 ---- // Dialog // + #ifdef MARCH_HARE_MODS + IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 319, 90 + STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU + CAPTION "About WinCvs" + FONT 8, "MS Sans Serif" + BEGIN + CONTROL 180,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE,7,9, + 41,49 + CTEXT "CVS Suite - WinCvs version 1.3",IDC_WINCVSVER,59,7,253,20, + SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "http://www.march-hare.com/cvsnt/",IDC_WINCVSURL,59,31,153,8 + DEFPUSHBUTTON "OK",IDOK,108,63,56,14,WS_GROUP + END + #else IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 219, 90 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About WinCvs" *************** *** 790,795 **** --- 804,810 ---- CTEXT "http://cvsgui.sourceforge.net/",IDC_CVSGUISFURL,59,46, 153,8 END + #endif /* MARCH_HARE_MODS */ IDD_PASSWRD DIALOG DISCARDABLE 0, 0, 186, 70 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU *************** *** 822,827 **** --- 837,843 ---- EDITTEXT IDC_PROMPT,34,39,156,14,ES_AUTOHSCROLL END + #ifdef MARCH_HARE_MODS IDD_PREFS_GLOBALS DIALOG DISCARDABLE 0, 0, 276, 143 STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU CAPTION "Globals" *************** *** 856,861 **** --- 872,880 ---- WS_TABSTOP,135,41,134,10 CONTROL "Sma&rt sorting",IDC_SMART_SORTING,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,135,56,134,10 + CONTROL "&Use WinCVS Wizard\n(default uses CVSNT Wizard)", + IDC_USE_WIZARD,"Button",BS_AUTOCHECKBOX|BS_MULTILINE|BS_TOP| + WS_TABSTOP,135,75,134,20 GROUPBOX "Password authentication only:",IDC_STATIC,7,104,262,32 CONTROL "&Logout automatically after:",IDC_AUTO_LOGOUT,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,16,118,99,10 *************** *** 869,874 **** --- 888,942 ---- IDC_ALWAYSROOT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,185,90,84,10 END + #else + IDD_PREFS_GLOBALS DIALOG DISCARDABLE 0, 0, 276, 143 + STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU + CAPTION "Globals" + FONT 8, "MS Sans Serif" + BEGIN + LTEXT "Files &attribute:",IDC_STATIC,12,11,44,8 + COMBOBOX IDC_CHECKOUTATTRIBUTE,66,9,60,48,CBS_DROPDOWNLIST | + CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + LTEXT "C&VS Messages:",IDC_STATIC,12,27,51,8 + COMBOBOX IDC_CVSMESSAGES,66,25,60,48,CBS_DROPDOWNLIST | + CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "&Prune empty directories",IDC_PRUNE_EMPTY_DIR,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,12,41,105,10 + CONTROL "&Compression level:",IDC_HAS_COMPRESSION,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,12,56,75,10 + EDITTEXT IDC_COMPRESSION,88,54,25,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "Spin2",IDC_SPIN_COMPRESSION,"msctls_updown32", + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | + UDS_ARROWKEYS | UDS_NOTHOUSANDS,114,54,11,14 + CONTROL "&Encrypt communication",IDC_ENCRYPTION,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,12,71,105,10 + CONTROL "Checkout text files with the &Unix LF (0xa)", + IDC_UNIX_LF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,86, + 153,10 + CONTROL "Disable &splash screen",IDC_NO_SPLASH_SCREEN,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,135,10,134,10 + CONTROL "Suppl&y control when adding files", + IDC_CONTROL_ADDED_FILES,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,135,25,134,10 + CONTROL "&Match path case with Entries case", + IDC_MATCH_ENTRIES_CASE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,135,41,134,10 + CONTROL "Sma&rt sorting",IDC_SMART_SORTING,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,135,56,134,10 + GROUPBOX "Password authentication only:",IDC_STATIC,7,104,262,32 + CONTROL "&Logout automatically after:",IDC_AUTO_LOGOUT,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,16,118,99,10 + EDITTEXT IDC_AUTO_LOGOUT_TIME,115,116,42,14,ES_AUTOHSCROLL | + ES_NUMBER + CONTROL "Spin1",IDC_SPIN_AUTO_LOGOUT_TIME,"msctls_updown32", + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | + UDS_ARROWKEYS | UDS_NOTHOUSANDS,150,122,11,14 + LTEXT "minutes",IDC_STATIC,163,119,46,8 + CONTROL "&Always use the CVSROOT specified (don't use the disk's one)", + IDC_ALWAYSROOT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | + WS_DISABLED | WS_TABSTOP,185,90,84,10 + END + #endif /* MARCH_HARE_MODS */ IDD_CHECKOUT_MAIN DIALOG DISCARDABLE 0, 0, 284, 170 STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU *************** *** 1299,1304 **** --- 1367,1395 ---- PUSHBUTTON "Help",IDHELP,272,141,50,14 END + #ifdef MARCH_HARE_MODS + IDD_SAVESETTINGS DIALOG DISCARDABLE 0, 0, 270, 181 + STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU + CAPTION "Save Settings" + FONT 8, "MS Sans Serif" + BEGIN + GROUPBOX "Enter a setting &name:",IDC_STATIC,7,7,256,58 + EDITTEXT IDC_SETTINGS_NAME,13,22,117,14,ES_AUTOHSCROLL + LTEXT "For ©:",IDC_STATIC,13,45,40,8 + EDITTEXT IDC_PATH,59,42,195,14,ES_AUTOHSCROLL | ES_READONLY + LTEXT "Location specific preference settings can be loaded automatically whenever this location is opened in the WinCVS.", + IDC_STATIC,7,74,256,30 + LTEXT "To enable this behaviour choose a name for the settings and press OK.", + IDC_STATIC,7,107,256,20 + CONTROL "Copy from this &existing setting:",IDC_COPY_SETTINGS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,133,116,10 + COMBOBOX IDC_COPY_SETTINGS_NAME,139,132,124,65,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,105,160,50,14 + PUSHBUTTON "Cancel",IDCANCEL,159,160,50,14 + PUSHBUTTON "Help",IDHELP,213,160,50,14 + END + #else IDD_SAVESETTINGS DIALOG DISCARDABLE 0, 0, 270, 181 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Save Settings" *************** *** 1320,1325 **** --- 1411,1417 ---- PUSHBUTTON "Cancel",IDCANCEL,159,160,50,14 PUSHBUTTON "Help",IDHELP,213,160,50,14 END + #endif /* MARCH_HARE_MODS */ IDD_COMMIT_OPTIONS DIALOG DISCARDABLE 0, 0, 284, 148 STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU Index: WinCvs/wincvsView.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/wincvsView.cpp,v retrieving revision 1.27 diff -c -r1.27 wincvsView.cpp *** WinCvs/wincvsView.cpp 11 Feb 2006 00:53:50 -0000 1.27 --- WinCvs/wincvsView.cpp 16 Mar 2006 21:28:16 -0000 *************** *** 75,80 **** --- 75,83 ---- CWincvsView::CWincvsView() { m_fRtfFormat = ::RegisterClipboardFormat(_T("Rich Text Format")); + #ifdef MARCH_HARE_MODS + m_pMutex = new CMutex(FALSE); + #endif /* MARCH_HARE_MODS */ m_sbuf = 0L; m_snumbuf = 0; *************** *** 94,99 **** --- 97,105 ---- { app->StopScriptEngine(); } + #ifdef MARCH_HARE_MODS + delete m_pMutex; + #endif /* MARCH_HARE_MODS */ } /// PreCreateWindow virtual override, modify the window style *************** *** 355,361 **** --- 361,372 ---- void CWincvsView::OutColor(const char* txt, long len) { // Synchronize + #ifdef MARCH_HARE_MODS + CSingleLock lock(m_pMutex); + #else CSingleLock lock(&m_syncObject); + #endif /* MARCH_HARE_MODS */ + //if( !lock.Lock(20000) ) if( !lock.Lock(VIEW_LOCK_TIMEOUT) ) { ASSERT(FALSE); // Lock failed *************** *** 392,398 **** --- 403,414 ---- void CWincvsView::OutColor(kConsoleColor color) { // Synchronize + #ifdef MARCH_HARE_MODS + CSingleLock lock(m_pMutex); + #else CSingleLock lock(&m_syncObject); + #endif /* MARCH_HARE_MODS */ + //if( !lock.Lock(20000) ) if( !lock.Lock(VIEW_LOCK_TIMEOUT) ) { ASSERT(FALSE); // Lock failed *************** *** 453,459 **** --- 469,480 ---- void CWincvsView::OutColor(WCHARFORMAT& format) { // Synchronize + #ifdef MARCH_HARE_MODS + CSingleLock lock(m_pMutex); + #else CSingleLock lock(&m_syncObject); + #endif /* MARCH_HARE_MODS */ + //if( !lock.Lock(20000) ) if( !lock.Lock(VIEW_LOCK_TIMEOUT) ) { ASSERT(FALSE); // Lock failed *************** *** 473,479 **** --- 494,505 ---- void CWincvsView::OutConsole(const char* txt, long len, bool isStderr /*= false*/) { // Synchronize + #ifdef MARCH_HARE_MODS + CSingleLock lock(m_pMutex); + #else CSingleLock lock(&m_syncObject); + #endif /* MARCH_HARE_MODS */ + //if( !lock.Lock(20000) ) if( !lock.Lock(VIEW_LOCK_TIMEOUT) ) { ASSERT(FALSE); // Lock failed Index: WinCvs/wincvsView.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/wincvsView.h,v retrieving revision 1.13 diff -c -r1.13 wincvsView.h *** WinCvs/wincvsView.h 8 Feb 2006 12:59:59 -0000 1.13 --- WinCvs/wincvsView.h 10 Mar 2006 15:49:13 -0000 *************** *** 145,151 **** --- 145,155 ---- int m_snumbuf; /*!< Print buffer size */ UINT m_fRtfFormat; /*!< Clipboard format */ + #ifdef MARCH_HARE_MODS + CMutex* m_pMutex; /*!< A better output synchronization object ? */ + #else CCriticalSection m_syncObject; /*!< Output synchronization object */ + #endif /* MARCH_HARE_MODS */ // Methods virtual HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL); Index: WinCvs/HHelp/cshelp.txt =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/HHelp/cshelp.txt,v retrieving revision 1.16 diff -c -r1.16 cshelp.txt *** WinCvs/HHelp/cshelp.txt 11 Feb 2006 19:07:47 -0000 1.16 --- WinCvs/HHelp/cshelp.txt 16 Mar 2006 21:29:17 -0000 *************** *** 609,614 **** --- 609,617 ---- .Topic IDH_IDC_MATCH_ENTRIES_CASE Match path case with Entries case. + .Topic IDH_IDC_USE_WIZARD + Use the WinCVS wizard for selecting CVSROOT and Module Name. Default is to use the CVSNT Wizard (recommended). + .Topic IDH_IDC_SMART_SORTING Use a more sophisticated sorting scheme instead of lexicographical sorting where applicable. Index: WinCvs/HHelp/tips.txt =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/WinCvs/HHelp/tips.txt,v retrieving revision 1.2 diff -c -r1.2 tips.txt *** WinCvs/HHelp/tips.txt 13 Mar 2005 17:16:07 -0000 1.2 --- WinCvs/HHelp/tips.txt 5 Feb 2006 23:08:46 -0000 *************** *** 1,5 **** ! Learn more about CVS at http://www.cvshome.org. ! If you have any questions about CVS, the best place to ask is the CVSNT or CVS mailing list. See http://www.cvsnt.org and http://www.cvshome.org. Before using WinCvs, you should have read the CVS documentation. To take full advantage of WinCvs, update your server and client to a recent CVSNT version. Read the Output window - you can learn how to use CVS as a command line tool. --- 1,5 ---- ! Learn more about CVS at http://www.march-hare.com/cvsnt/. ! If you have any questions about CVS, the best place to ask is the CVSNT mailing list. See http://www.march-hare.com/cvspro/. Before using WinCvs, you should have read the CVS documentation. To take full advantage of WinCvs, update your server and client to a recent CVSNT version. Read the Output window - you can learn how to use CVS as a command line tool. Index: common/CheckoutDlg.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/CheckoutDlg.cpp,v retrieving revision 1.58 diff -c -r1.58 CheckoutDlg.cpp *** common/CheckoutDlg.cpp 15 Jul 2006 00:09:55 -0000 1.58 --- common/CheckoutDlg.cpp 18 Jul 2006 03:34:31 -0000 *************** *** 59,64 **** --- 59,69 ---- #include "FileTraversal.h" #include "CvsEntries.h" + #ifdef MARCH_HARE_MODS + #include + #include + #endif /* MARCH_HARE_MODS */ + using namespace std; CMString gOldModules(20, "P_OldModules"); *************** *** 178,184 **** --- 183,193 ---- OnCheckOverridecheckoutdir(); } + #ifdef MARCH_HARE_MODS + m_cvsrootEntryDlg.UpdateData(pDX->m_bSaveAndValidate, m_forceRoot, m_cvsroot); + #else m_cvsrootEntryDlg.UpdateData(pDX->m_bSaveAndValidate, m_forceRoot, m_cvsroot); + #endif /* MARCH_HARE_MODS */ } *************** *** 201,207 **** --- 210,220 ---- // Extra initialization EnableEditAutoComplete(&m_pathEdit); + #ifdef MARCH_HARE_MODS + m_cvsrootEntryDlg.Create(&m_cvsrootEntryPlaceholder, this); + #else m_cvsrootEntryDlg.Create(&m_cvsrootEntryPlaceholder, this); + #endif /* MARCH_HARE_MODS */ return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE *************** *** 263,273 **** --- 276,308 ---- void CCheckout_MAIN::OnBrowseModules() { string moduleName; + #ifdef MARCH_HARE_MODS + if(!gCvsPrefs.UseWizard()) + { + bool myresult; + CBrowserDialog dlg(::GetActiveWindow()); + CRootSplitter split; + if((myresult=dlg.ShowDialog(CBrowserDialog::BDShowDefault| + CBrowserDialog::BDRequireModule, + "Select repository"))) + { + m_moduleName = (const char*)dlg.getModule(); + m_moduleCombo.SetWindowText(m_moduleName); + // dlg.password = ""; + split.Split( dlg.getRoot() ); + m_cvsrootEntryDlg.m_cvsrootCombo.SetWindowText( split.Join(false) ); + //SetDlgItemText(hwndDlg, IDC_EDIT11, dlg.getTag()); + } + } else { + #endif /* MARCH_HARE_MODS */ if( CompatGetModuleListItem(m_mf, moduleName) ) { m_moduleName = moduleName.c_str(); m_moduleCombo.SetWindowText(m_moduleName); } + #ifdef MARCH_HARE_MODS + } + #endif /* MARCH_HARE_MODS */ } #endif /* WIN32 */ Index: common/CheckoutDlg.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/CheckoutDlg.h,v retrieving revision 1.25 diff -c -r1.25 CheckoutDlg.h *** common/CheckoutDlg.h 6 Apr 2006 20:28:01 -0000 1.25 --- common/CheckoutDlg.h 18 Jul 2006 01:07:25 -0000 *************** *** 109,115 **** --- 109,119 ---- DECLARE_MESSAGE_MAP() private: // Data members + #ifdef MARCH_HARE_MODS CCvsrootEntryDlg m_cvsrootEntryDlg; /*!< CVSROOT entry child dialog */ + #else + CCvsrootEntryDlg m_cvsrootEntryDlg; /*!< CVSROOT entry child dialog */ + #endif /* MARCH_HARE_MODS */ const MultiFiles* m_mf; /*!< Browser selection */ // Methods Index: common/CvsPrefs.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/CvsPrefs.cpp,v retrieving revision 1.95 diff -c -r1.95 CvsPrefs.cpp *** common/CvsPrefs.cpp 15 Jul 2006 00:09:56 -0000 1.95 --- common/CvsPrefs.cpp 18 Jul 2006 01:17:08 -0000 *************** *** 77,82 **** --- 77,86 ---- # include "UCvsFolders.h" #endif + #ifdef MARCH_HARE_MODS + # define DEFAULT_USE_WIZARD false + #endif /* MARCH_HARE_MODS */ + using namespace std; #ifndef WIN32 *************** *** 98,103 **** --- 102,110 ---- static CPersistentBool gMacBinEncodeOnlyBinaryFiles("P_MacBinOnlyBinaries", true, kAddSettings); static CPersistentInt gUseShell("P_UseShell", SHELL_TCL); static CPersistentBool gMatchEntriesCase("P_MatchEntriesCase", DEFAULT_MATCH_ENTRIES_CASE); + #ifdef MARCH_HARE_MODS + static CPersistentBool gUseWizard("P_UseWizard", DEFAULT_USE_WIZARD); + #endif /* MARCH_HARE_MODS */ static CPersistentBool gSmartSorting("P_SmartSorting", false); #ifdef WIN32 *************** *** 144,149 **** --- 151,160 ---- static CPersistentString gViewer("P_Viewer", "Notepad"); #endif + #ifdef MARCH_HARE_MODS1 + static CPersistentBool gUseWizard1("P_UseWizard1", false, kAddSettings); + #endif /* MARCH_HARE_MODS1 */ + static CPersistentString gHelper("P_Helper", "netscape"); static CPersistentString gBrowser("P_Browser", "gmc"); *************** *** 231,236 **** --- 242,250 ---- #endif /*# INTERNAL_AUTHEN */ bool CvsPrefs::MatchEntriesCase(void) const {return gMatchEntriesCase;} + #ifdef MARCH_HARE_MODS + bool CvsPrefs::UseWizard(void) const {return gUseWizard;} + #endif /* MARCH_HARE_MODS */ bool CvsPrefs::SmartSorting(void) const {return gSmartSorting;} #ifndef WIN32 *************** *** 274,279 **** --- 288,297 ---- bool CvsPrefs::DirtySupport(void) const {return gDirtySupport;} #endif + #ifdef MARCH_HARE_MODS1 + bool CvsPrefs::UseWizard1(void) const {return gUseWizard1;} + #endif /* MARCH_HARE_MODS1 */ + const char* CvsPrefs::Viewer(void) const {return gViewer.empty() ? 0L : gViewer.c_str();} const char* CvsPrefs::Helper(void) const {return gHelper.empty() ? 0L : gHelper.c_str();} const char* CvsPrefs::Browser(void) const {return gBrowser.empty() ? 0L : gBrowser.c_str();} *************** *** 349,354 **** --- 367,375 ---- void CvsPrefs::SetEncryptCommunication(bool newState) {gEncryptCommunication = newState;} void CvsPrefs::SetMatchEntriesCase(bool newState) {gMatchEntriesCase = newState;} + #ifdef MARCH_HARE_MODS + void CvsPrefs::SetUseWizard(bool newState) {gUseWizard = newState;} + #endif /* MARCH_HARE_MODS */ void CvsPrefs::SetSmartSorting(bool newState) {gSmartSorting = newState;} #ifndef WIN32 *************** *** 374,379 **** --- 395,404 ---- void CvsPrefs::SetDirtySupport(bool newState) {gDirtySupport = newState;} #endif + #ifdef MARCH_HARE_MODS1 + void CvsPrefs::SetUseWizard1(bool newState) {gUseWizard1 = newState;} + #endif /* MARCH_HARE_MODS1 */ + void CvsPrefs::SetViewer(const char* newviewer) {gViewer = newviewer;} void CvsPrefs::SetBrowser(const char* newviewer) {gBrowser = newviewer;} void CvsPrefs::SetHelper(const char* newviewer) {gHelper = newviewer;} *************** *** 691,698 **** --- 716,732 ---- #ifdef WIN32 BYTE* ppData; UINT pBytes = 0; + #ifdef MARCH_HARE_MODS + BOOL res1, res2 = FALSE; + res1 = AfxGetApp()->GetProfileBinary(PROFILE_NAME, tmp, &ppData, &pBytes); + if (!res1) + res1 = AfxGetApp()->GetProfileBinary(OLD_PROFILE_NAME, tmp, &ppData, &pBytes); + + if( (!res1) && (!res2) ) + #else if( !AfxGetApp()->GetProfileBinary(PROFILE_NAME, tmp, &ppData, &pBytes) ) + #endif /* MARCH_HARE_MODS */ { continue; } Index: common/CvsPrefs.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/CvsPrefs.h,v retrieving revision 1.60 diff -c -r1.60 CvsPrefs.h *** common/CvsPrefs.h 6 Apr 2006 20:28:01 -0000 1.60 --- common/CvsPrefs.h 18 Jul 2006 01:07:25 -0000 *************** *** 177,182 **** --- 177,186 ---- bool DirtySupport(void) const; #endif + #ifdef MARCH_HARE_MODS1 + bool UseWizard1(void) const; + #endif /* MARCH_HARE_MODS1 */ + #ifdef WIN32 CHECKOUT_FILEATTRIBUTE_TYPE CheckoutFileAttribute(void) const; CVSMESSAGES_TYPE CvsMessages(void) const; *************** *** 222,227 **** --- 226,234 ---- const char* LastWorkingDir(void) const; bool UseKeyChain(void) const; // on mac bool MatchEntriesCase(void) const; + #ifdef MARCH_HARE_MODS + bool UseWizard(void) const; + #endif /* MARCH_HARE_MODS */ bool SmartSorting(void) const; bool HideCommandDlgUpdate(void) const; *************** *** 259,264 **** --- 266,275 ---- void SetDirtySupport(bool newState); #endif + #ifdef MARCH_HARE_MODS1 + void SetUseWizard1(bool newState); + #endif /* MARCH_HARE_MODS1 */ + #ifdef WIN32 void SetCheckoutFileAttribute(CHECKOUT_FILEATTRIBUTE_TYPE newState); void SetCvsMessages(CVSMESSAGES_TYPE newState); *************** *** 303,308 **** --- 314,322 ---- void SetWordWrapLogMsg(int wordwrap); void SetLastWorkingDir(const char* workdir); void SetMatchEntriesCase(bool newState); + #ifdef MARCH_HARE_MODS + void SetUseWizard(bool newState); + #endif /* MARCH_HARE_MODS */ void SetSmartSorting(bool newState); void SetHideCommandDlgUpdate(bool newState); Index: common/CvsRootDlg.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/CvsRootDlg.cpp,v retrieving revision 1.19 diff -c -r1.19 CvsRootDlg.cpp *** common/CvsRootDlg.cpp 15 Jul 2006 00:09:56 -0000 1.19 --- common/CvsRootDlg.cpp 18 Jul 2006 02:18:27 -0000 *************** *** 766,772 **** m_cvsRootParser.Parse(m_cvsroot); m_cvsStopped = false; ! m_repositoryPathCombo.SetItems(&gPrevCVsRootRepositoryPaths); } --- 766,772 ---- m_cvsRootParser.Parse(m_cvsroot); m_cvsStopped = false; ! m_repositoryPathCombo.SetItems(&gPrevCvsRootRepositoryPaths); } Index: common/GetPrefs.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/GetPrefs.cpp,v retrieving revision 1.107 diff -c -r1.107 GetPrefs.cpp *** common/GetPrefs.cpp 15 Jul 2006 00:09:56 -0000 1.107 --- common/GetPrefs.cpp 18 Jul 2006 02:56:20 -0000 *************** *** 175,180 **** --- 175,183 ---- m_disableSplashScreen = gCvsPrefs.DisableSplashScreen(); m_logoutTime = gCvsPrefs.LogoutTimeOut(); m_matchEntriesCase = gCvsPrefs.MatchEntriesCase(); + #ifdef MARCH_HARE_MODS + m_useWizard = gCvsPrefs.UseWizard(); + #endif /* MARCH_HARE_MODS */ m_smartSorting = gCvsPrefs.SmartSorting(); m_encryptCommunication = gCvsPrefs.EncryptCommunication(); m_checkoutFileAttribute = gCvsPrefs.CheckoutFileAttribute(); *************** *** 215,220 **** --- 218,226 ---- DDX_Check(pDX, IDC_MATCH_ENTRIES_CASE, m_matchEntriesCase); DDX_Check(pDX, IDC_SMART_SORTING, m_smartSorting); DDX_Check(pDX, IDC_ENCRYPTION, m_encryptCommunication); + #ifdef MARCH_HARE_MODS + DDX_Check(pDX, IDC_USE_WIZARD, m_useWizard); + #endif /* MARCH_HARE_MODS */ DDX_CBIndex(pDX, IDC_CHECKOUTATTRIBUTE, m_checkoutFileAttribute); DDX_CBIndex(pDX, IDC_CVSMESSAGES, m_cvsMessages); //}}AFX_DATA_MAP *************** *** 246,251 **** --- 252,260 ---- gCvsPrefs.SetZLevel(m_zlevel); gCvsPrefs.SetDisableSplashScreen(m_disableSplashScreen ? true : false); gCvsPrefs.SetMatchEntriesCase(m_matchEntriesCase ? true : false); + #ifdef MARCH_HARE_MODS + gCvsPrefs.SetUseWizard(m_useWizard ? true : false); + #endif /* MARCH_HARE_MODS */ gCvsPrefs.SetSmartSorting(m_smartSorting ? true : false); gCvsPrefs.SetEncryptCommunication(m_encryptCommunication ? true : false); *************** *** 295,300 **** --- 304,312 ---- SetCtrlHelpID(IDC_NO_SPLASH_SCREEN, IDH_IDC_NO_SPLASH_SCREEN); SetCtrlHelpID(IDC_CONTROL_ADDED_FILES, IDH_IDC_CONTROL_ADDED_FILES); SetCtrlHelpID(IDC_MATCH_ENTRIES_CASE, IDH_IDC_MATCH_ENTRIES_CASE); + #ifdef MARCH_HARE_MODS + SetCtrlHelpID(IDC_USE_WIZARD, IDH_IDC_USE_WIZARD); + #endif /* MARCH_HARE_MODS */ SetCtrlHelpID(IDC_SMART_SORTING, IDH_IDC_SMART_SORTING); SetCtrlHelpID(IDC_AUTO_LOGOUT, IDH_IDC_AUTO_LOGOUT); SetCtrlHelpID(IDC_AUTO_LOGOUT_TIME, IDH_IDC_AUTO_LOGOUT_TIME); *************** *** 1042,1047 **** --- 1054,1062 ---- kquiet, // 4 kcntladd, // 5 kzlevel // 6 + #ifdef MARCH_HARE_MODS1 + ,kusewiz // 7 + #endif /* MARCH_HARE_MODS1 */ }; virtual void DoDataExchange(bool fill); *************** *** 1052,1057 **** --- 1067,1075 ---- protected: bool m_checkoutro; bool m_dirty; + #ifdef MARCH_HARE_MODS1 + bool m_usewiz; + #endif /* MARCH_HARE_MODS1 */ bool m_tcpip; bool m_prune; bool m_quiet; *************** *** 1075,1080 **** --- 1093,1101 ---- m_quiet = gCvsPrefs.QuietOption(); m_cntladd = gCvsPrefs.AddControl(); m_dirty = gCvsPrefs.DirtySupport(); + #ifdef MARCH_HARE_MODS1 + m_usewiz = gCvsPrefs.UseWizard1(); + #endif /* MARCH_HARE_MODS1 */ m_zlevel = gCvsPrefs.ZLevel(); } *************** *** 1086,1091 **** --- 1107,1115 ---- gCvsPrefs.SetQuietOption(m_quiet); gCvsPrefs.SetAddControl(m_cntladd); gCvsPrefs.SetDirtySupport(m_dirty); + #ifdef MARCH_HARE_MODS1 + gCvsPrefs.SetUseWizard1(m_usewiz); + #endif /* MARCH_HARE_MODS1 */ gCvsPrefs.SetZLevel(m_zlevel); } *************** *** 1099,1104 **** --- 1123,1131 ---- UEventSendMessage(GetWidID(), EV_SETSTATE, UMAKEINT(kquiet, m_quiet), 0L); UEventSendMessage(GetWidID(), EV_SETSTATE, UMAKEINT(kcntladd, m_cntladd), 0L); UEventSendMessage(GetWidID(), EV_SETSTATE, UMAKEINT(kdirty, m_dirty), 0L); + #ifdef MARCH_HARE_MODS1 + UEventSendMessage(GetWidID(), EV_SETSTATE, UMAKEINT(kusewiz, m_usewiz), 0L); + #endif /* MARCH_HARE_MODS1 */ UEventSendMessage(GetWidID(), EV_SETSTATE, UMAKEINT(kzlevel, m_zlevel), 0L); } else *************** *** 1109,1114 **** --- 1136,1144 ---- m_quiet = UEventSendMessage(GetWidID(), EV_QUERYSTATE, kquiet, 0L) != 0; m_cntladd = UEventSendMessage(GetWidID(), EV_QUERYSTATE, kcntladd, 0L) != 0; m_dirty = UEventSendMessage(GetWidID(), EV_QUERYSTATE, kdirty, 0L) != 0; + #ifdef MARCH_HARE_MODS1 + m_usewiz = UEventSendMessage(GetWidID(), EV_QUERYSTATE, kusewiz, 0L) != 0; + #endif /* MARCH_HARE_MODS1 */ m_zlevel = UEventSendMessage(GetWidID(), EV_QUERYSTATE, kzlevel, 0L); } } Index: common/GetPrefs.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/GetPrefs.h,v retrieving revision 1.41 diff -c -r1.41 GetPrefs.h *** common/GetPrefs.h 15 Jul 2006 00:09:56 -0000 1.41 --- common/GetPrefs.h 18 Jul 2006 01:07:27 -0000 *************** *** 72,77 **** --- 72,80 ---- BOOL m_disableSplashScreen; UINT m_logoutTime; BOOL m_matchEntriesCase; + #ifdef MARCH_HARE_MODS + BOOL m_useWizard; + #endif /* MARCH_HARE_MODS */ BOOL m_smartSorting; BOOL m_encryptCommunication; int m_checkoutFileAttribute; Index: common/ItemListDlg.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/ItemListDlg.cpp,v retrieving revision 1.44 diff -c -r1.44 ItemListDlg.cpp *** common/ItemListDlg.cpp 15 Jul 2006 00:09:56 -0000 1.44 --- common/ItemListDlg.cpp 18 Jul 2006 02:04:23 -0000 *************** *** 1440,1454 **** \param cvsErr Command error stream, can be NULL \param showUpDir Set to true to show the up-dir(..) in the list if appropriate */ - <<<<<<< ItemListDlg.cpp - #ifdef HAVE_SSTREAM - void CItemListDlg::DisplayItems(const ItemList& itemList, const int launchRes, istringstream* cvsErr /*= NULL*/, const bool showUpDir /*= true*/) - #else - void CItemListDlg::DisplayItems(const ItemList& itemList, const int launchRes, istrstream* cvsErr /*= NULL*/, const bool showUpDir /*= true*/) - #endif - ======= void CItemListDlg::DisplayItems(const ItemList& itemList, const int launchRes, std::istrstream* cvsErr /*= NULL*/, const bool showUpDir /*= true*/) - >>>>>>> 1.43 { if( itemList.size() == 0 ) { --- 1440,1446 ---- Index: common/MultiString.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/MultiString.cpp,v retrieving revision 1.25 diff -c -r1.25 MultiString.cpp *** common/MultiString.cpp 15 Jul 2006 00:09:56 -0000 1.25 --- common/MultiString.cpp 18 Jul 2006 01:18:58 -0000 *************** *** 75,83 **** --- 75,90 ---- /// defaultStr is a null terminated set of strings template + #ifdef MARCH_HARE_MODS + TMString::TMString(unsigned int maxstr, const char* uniqueName, + char* const* defaultStr /*= 0L*/, kClassPersistent pclass /*= kNoClass*/, + bool isstr /*= true */) + : CPersistent(uniqueName, pclass, isstr), m_maxStr(maxstr) + #else TMString::TMString(unsigned int maxstr, const char* uniqueName, char* const* defaultStr /*= 0L*/, kClassPersistent pclass /*= kNoClass*/) : CPersistent(uniqueName, pclass), m_maxStr(maxstr) + #endif /* MARCH_HARE_MODS */ { if( defaultStr != 0L ) { *************** *** 234,242 **** --- 241,255 ---- ////////////////////////////////////////////////////////////////////////// // CMString + #ifdef MARCH_HARE_MODS + CMString::CMString(unsigned int maxstr, const char* uniqueName, + char* const* defaultStr /*= 0L*/, kClassPersistent pclass /*= kNoClass*/) + : TMString(maxstr, uniqueName, defaultStr, pclass, false) + #else CMString::CMString(unsigned int maxstr, const char* uniqueName, char* const* defaultStr /*= 0L*/, kClassPersistent pclass /*= kNoClass*/) : TMString(maxstr, uniqueName, defaultStr, pclass) + #endif /* MARCH_HARE_MODS */ { } Index: common/MultiString.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/MultiString.h,v retrieving revision 1.23 diff -c -r1.23 MultiString.h *** common/MultiString.h 9 Apr 2006 01:55:01 -0000 1.23 --- common/MultiString.h 18 Jul 2006 01:19:59 -0000 *************** *** 65,72 **** --- 65,78 ---- { public: typedef std::vector list_t; + #ifdef MARCH_HARE_MODS + TMString(unsigned int maxstr, const char* uniqueName, + char* const* defaultStr = 0L, kClassPersistent pclass = kNoClass, + bool isstr = true); + #else TMString(unsigned int maxstr, const char* uniqueName, char* const* defaultStr = 0L, kClassPersistent pclass = kNoClass); + #endif /* MARCH_HARE_MODS */ virtual ~TMString(); Index: common/Persistent.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/Persistent.cpp,v retrieving revision 1.78 diff -c -r1.78 Persistent.cpp *** common/Persistent.cpp 15 Jul 2006 00:09:56 -0000 1.78 --- common/Persistent.cpp 18 Jul 2006 01:07:28 -0000 *************** *** 115,123 **** --- 115,131 ---- UIMPLEMENT_DYNAMIC(CPersistentBool, CPersistent) UIMPLEMENT_DYNAMIC(CPersistentString, CPersistent) + #ifdef MARCH_HARE_MODS + CPersistent::CPersistent(const char* uniqueName, kClassPersistent pclass, bool isstr) : m_fTimeStamp(0) + #else CPersistent::CPersistent(const char* uniqueName, kClassPersistent pclass) : m_fTimeStamp(0) + #endif /* MARCH_HARE_MODS */ { + #ifdef MARCH_HARE_MODS + Register(this, uniqueName, pclass, isstr); + #else Register(this, uniqueName, pclass); + #endif /* MARCH_HARE_MODS */ TouchTimeStamp(); } *************** *** 132,138 **** --- 140,150 ---- \param uniqueName Name of the value \param pclass Class of the value */ + #ifdef MARCH_HARE_MODS + void CPersistent::Register(CPersistent* value, const char* uniqueName, kClassPersistent pclass, bool isstr) + #else void CPersistent::Register(CPersistent* value, const char* uniqueName, kClassPersistent pclass) + #endif /* MARCH_HARE_MODS */ { vector::const_iterator i; if( m_fAllEntries == 0L ) *************** *** 150,155 **** --- 162,170 ---- newentry.m_fClass = pclass; newentry.m_fUniqueName = uniqueName; newentry.m_fValue = value; + #ifdef MARCH_HARE_MODS + newentry.m_isstr = isstr; + #endif /* MARCH_HARE_MODS */ m_fAllEntries->push_back(newentry); } *************** *** 462,468 **** --- 477,494 ---- if( size == 0 ) continue; + #ifdef MARCH_HARE_MODS + BOOL setprores; + if (entry.m_isstr) + { + setprores = AfxGetApp()->WriteProfileString(PROFILE_NAME, entry.m_fUniqueName, (LPCSTR)entry.m_fValue->GetData()); + } + else + setprores = AfxGetApp()->WriteProfileBinary(PROFILE_NAME, entry.m_fUniqueName, (BYTE*)entry.m_fValue->GetData(), size); + if (!setprores) + #else if( !AfxGetApp()->WriteProfileBinary(PROFILE_NAME, entry.m_fUniqueName, (BYTE*)entry.m_fValue->GetData(), size) ) + #endif /* MARCH_HARE_MODS */ { cvs_err("Error while saving preferences !\n"); break; *************** *** 683,688 **** --- 709,717 ---- } #endif /* TARGET_OS_MAC */ #ifdef WIN32 + #ifdef MARCH_HARE_MODS + HANDLE heapHandle = GetProcessHeap(); + #endif /* MARCH_HARE_MODS */ for(i = m_fAllEntries->begin(); i != m_fAllEntries->end(); ++i) { CPersistentEntry & entry = *i; *************** *** 692,698 **** --- 721,753 ---- if( only && strcmp(only, entry.m_fUniqueName) != 0 ) continue; + #ifdef MARCH_HARE_MODS + BOOL getprores = FALSE, donotdestroy = FALSE; + if (entry.m_isstr) + { + CString ahhhNone("None - No not any!!"); + CString strData; + strData = AfxGetApp()->GetProfileString(PROFILE_NAME, entry.m_fUniqueName, ahhhNone ); + if ( strData.Compare(ahhhNone) ) + //if ( strData.IsEmpty() ) + { + pBytes=strData.GetLength(); + ppData=(BYTE *)HeapAlloc(heapHandle,0,sizeof(TCHAR)*(pBytes+1)); + memcpy(ppData, strData.GetBuffer(), sizeof(TCHAR)*pBytes); + *(ppData+(sizeof(TCHAR)*pBytes))='\0'; + getprores = TRUE; + pBytes++; + donotdestroy = true; + } + else + getprores = AfxGetApp()->GetProfileBinary(OLD_PROFILE_NAME, entry.m_fUniqueName, &ppData, &pBytes); + } + else + getprores = AfxGetApp()->GetProfileBinary(PROFILE_NAME, entry.m_fUniqueName, &ppData, &pBytes); + if (!getprores) + #else if( !AfxGetApp()->GetProfileBinary(PROFILE_NAME, entry.m_fUniqueName, &ppData, &pBytes)) + #endif /* MARCH_HARE_MODS */ { continue; } *************** *** 701,706 **** --- 756,766 ---- entry.m_fValue->SetData(ppData, pBytes); entry.m_fValue->ResetTimeStamp(); + #ifdef MARCH_HARE_MODS + if (donotdestroy) + HeapFree(heapHandle,0,ppData); + else + #endif /* MARCH_HARE_MODS */ delete ppData; } #endif /* WIN32 */ Index: common/Persistent.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/common/Persistent.h,v retrieving revision 1.26 diff -c -r1.26 Persistent.h *** common/Persistent.h 9 Apr 2006 22:33:21 -0000 1.26 --- common/Persistent.h 18 Jul 2006 01:07:28 -0000 *************** *** 49,55 **** --- 49,60 ---- #ifdef WIN32 /// CVS settings profile name + #ifdef MARCH_HARE_MODS + # define PROFILE_NAME "CVSNT settings" + # define OLD_PROFILE_NAME "CVS settings" + #else # define PROFILE_NAME "CVS settings" + #endif /* MARCH_HARE_MODS */ #endif /* WIN32 */ /// Casting macro, good for most persistent values *************** *** 80,86 **** --- 85,95 ---- { UDECLARE_DYNAMIC(CPersistent) public: + #ifdef MARCH_HARE_MODS + CPersistent(const char* uniqueName, kClassPersistent pclass, bool isstr); + #else CPersistent(const char* uniqueName, kClassPersistent pclass); + #endif /* MARCH_HARE_MODS */ virtual ~CPersistent(); protected: *************** *** 106,111 **** --- 115,123 ---- const char* m_fUniqueName; CPersistent* m_fValue; kClassPersistent m_fClass; + #ifdef MARCH_HARE_MODS + bool m_isstr; + #endif /* MARCH_HARE_MODS */ }; static CPersistentEntry* Find(const char* uniqueName); *************** *** 122,128 **** --- 134,144 ---- static bool NeedSave(bool onlySettings = false); private: + #ifdef MARCH_HARE_MODS + static void Register(CPersistent* value, const char* uniqueName, kClassPersistent pclass, bool isstr); + #else static void Register(CPersistent* value, const char* uniqueName, kClassPersistent pclass); + #endif /* MARCH_HARE_MODS */ static void UnRegister(CPersistent* value); static bool LoadPersistentSettings(const char* token, const char* value, void* data); *************** *** 137,143 **** --- 153,163 ---- class CPersistentT : public CPersistent { public: + #ifdef MARCH_HARE_MODS + CPersistentT(const char* uniqueName, T defValue, kClassPersistent pclass) : CPersistent(uniqueName, pclass, false) + #else CPersistentT(const char* uniqueName, T defValue, kClassPersistent pclass) : CPersistent(uniqueName, pclass) + #endif /* MARCH_HARE_MODS */ { m_fValue = m_fDefValue = defValue; } Index: cvsgui_protocol/cvsgui_process.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/cvsgui_protocol/cvsgui_process.cpp,v retrieving revision 1.22 diff -c -r1.22 cvsgui_process.cpp *** cvsgui_protocol/cvsgui_process.cpp 15 Jul 2006 00:19:59 -0000 1.22 --- cvsgui_protocol/cvsgui_process.cpp 18 Jul 2006 05:57:46 -0000 *************** *** 105,112 **** static void cvs_process_close(CvsProcess* cvs_process, int kill_it); static CvsProcess* cvs_process_new(const char* name, int argc, char** argv); ! static std::vectorcvs_process_stack; /*!< Process stack container */ ! static std::vectoropen_cvs_process; /*!< Open process container */ static CvsProcess* current_cvs_process = NULL; /*!< Current CVS process */ static int current_write_buffer_index = 0; /*!< Current write buffer index */ --- 105,112 ---- static void cvs_process_close(CvsProcess* cvs_process, int kill_it); static CvsProcess* cvs_process_new(const char* name, int argc, char** argv); ! static std::vectorcvs_process_stack ( NULL ); /*!< Process stack container */ ! static std::vectoropen_cvs_process ( NULL ); /*!< Open process container */ static CvsProcess* current_cvs_process = NULL; /*!< Current CVS process */ static int current_write_buffer_index = 0; /*!< Current write buffer index */ *************** *** 1104,1110 **** } gulong rcount; ! cvs_process_recv_message(process, rcount); if( rcount > totalBytesAvail ) totalBytesAvail = 0; --- 1104,1110 ---- } gulong rcount; ! cvs_process_recv_message(process, &rcount); if( rcount > totalBytesAvail ) totalBytesAvail = 0; Index: cvsgui_protocol/cvsgui_wire.cpp =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/cvsgui_protocol/cvsgui_wire.cpp,v retrieving revision 1.6 diff -c -r1.6 cvsgui_wire.cpp *** cvsgui_protocol/cvsgui_wire.cpp 15 Jul 2006 00:19:59 -0000 1.6 --- cvsgui_protocol/cvsgui_wire.cpp 18 Jul 2006 05:55:53 -0000 *************** *** 225,231 **** --- 225,235 ---- } } + #ifdef MARCH_HARE_MODS + *rcount += totalcount; + #else /* MARCH_HARE_MODS */ rcount += totalcount; + #endif /* MARCH_HARE_MODS */ return TRUE; } Index: rf/ustr.h =================================================================== RCS file: /cvsroot/cvsgui/cvsgui/rf/ustr.h,v retrieving revision 1.53 diff -c -r1.53 ustr.h *** rf/ustr.h 9 Apr 2006 22:33:30 -0000 1.53 --- rf/ustr.h 18 Jul 2006 01:54:26 -0000 *************** *** 215,222 **** --- 215,227 ---- ////////////////////////////////////////////////////////////////////////// // CPersistentString inline implementation + #ifdef MARCH_HARE_MODS + inline CPersistentString::CPersistentString(const char* uniqueName, const char* defValue /*= 0L*/, kClassPersistent pclass /*= kNoClass*/) + : CPersistent(uniqueName, pclass, true) + #else inline CPersistentString::CPersistentString(const char* uniqueName, const char* defValue /*= 0L*/, kClassPersistent pclass /*= kNoClass*/) : CPersistent(uniqueName, pclass) + #endif /* MARCH_HARE_MODS */ { if( defValue != 0L ) *(std::string*)this = defValue;