Patches for WinCVS to use CVSNT API

"Arthur Barrett" <[email protected]> Tue, 18 Jul 2006 16:24:27 +1000
Newsgroups gmane.comp.version-control.cvs.gui.devel
Message-ID <[email protected]>
 
Hi there, 
 
These are the long promised patches for WinCVS to use the CVSAPI, and a
preference to "switch" between the CVSAPI and WinCVS "CVSROOT" wizard.
 
I had to try and "separate" these mods out from our other suite related
mods, but hopefully it still makes sense.
 
Regards,
 
 
Arthur
 

  ----------

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 <cvsapi.h>
+ #include <cvstools.h>
+ #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/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/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
  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
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 <cvsapi.h>
+ #include <cvstools.h>
+ #endif /* MARCH_HARE_MODS */
+ 
  using namespace std;
  
  CMString gOldModules(20, "P_OldModules");
***************
*** 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/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;}
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/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;


[Non-text portions of this message have been removed]



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Check out the new improvements in Yahoo! Groups email.
http://us.click.yahoo.com/6pRQfA/fOaOAA/yQLSAA/NhFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/cvsgui-dev/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/