Browse Source

added option to not send ctrl - v after selecting a clip
[SAB]


git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@157 595ec19a-5cb4-439b-94a8-42fb3063c22c

sabrogden 20 years ago
parent
commit
026770169b
9 changed files with 65 additions and 13 deletions
  1. 11 6
      CP_Main.rc
  2. 14 0
      Misc.cpp
  3. 4 0
      Misc.h
  4. 4 1
      OptionsGeneral.cpp
  5. 1 0
      OptionsGeneral.h
  6. 7 4
      ProcessCopy.cpp
  7. 20 1
      QPasteWnd.cpp
  8. 1 0
      QPasteWnd.h
  9. 3 1
      Resource.h

+ 11 - 6
CP_Main.rc

@@ -266,6 +266,8 @@ BEGIN
 
             MENUITEM "Draw RTF Text",               ID_MENU_QUICKOPTIONS_DRAWRTFTEXT
 
+            MENUITEM "Paste Clip after selection",  ID_MENU_QUICKOPTIONS_PASTECLIPAFTERSELECTION
+
         END
         POPUP "Sent To"
         BEGIN
@@ -510,7 +512,7 @@ BEGIN
                     IDC_STATIC,7,159,336,25
 END
 
-IDD_OPTIONS_GENERAL DIALOG DISCARDABLE  0, 0, 294, 199
+IDD_OPTIONS_GENERAL DIALOG DISCARDABLE  0, 0, 309, 214
 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "General"
 FONT 8, "MS Sans Serif"
@@ -537,7 +539,7 @@ BEGIN
     CONTROL         "Set Database Path",IDC_SET_DB_PATH,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,23,79,76,10
     EDITTEXT        IDC_PATH,23,89,248,12,ES_AUTOHSCROLL
-    PUSHBUTTON      "....",IDC_GET_PATH,273,89,14,12
+    PUSHBUTTON      "....",IDC_GET_PATH,288,89,14,12
     CONTROL         "Allow Duplicates",IDC_ALLOW_DUPLICATES,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,23,118,68,10
     CONTROL         "Update Clip Time On Paste",IDC_UPDATE_TIME_ON_PASTE,
@@ -551,9 +553,12 @@ BEGIN
                     IDC_HIDE_DITO_ON_HOT_KEY,"Button",BS_AUTOCHECKBOX | 
                     WS_TABSTOP,23,153,135,10
     LTEXT           "On copy play the sound",IDC_STATIC,24,177,81,10
-    EDITTEXT        IDC_EDIT_PLAY_SOUND,105,177,145,10,ES_AUTOHSCROLL
-    PUSHBUTTON      "....",IDC_SELECT_SOUND,273,177,14,12
+    EDITTEXT        IDC_EDIT_PLAY_SOUND,105,177,145,12,ES_AUTOHSCROLL
+    PUSHBUTTON      "....",IDC_SELECT_SOUND,288,177,14,12
     PUSHBUTTON      "Play",IDC_BUTTON_PLAY,251,177,19,12
+    CONTROL         "Paste Clip in active window after selection",
+                    IDC_SEND_PASTE_MESSAGE,"Button",BS_AUTOCHECKBOX | 
+                    WS_TABSTOP,23,190,148,10
 END
 
 IDD_SELECT_DB DIALOG DISCARDABLE  0, 0, 276, 46
@@ -821,9 +826,9 @@ BEGIN
     IDD_OPTIONS_GENERAL, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 287
+        RIGHTMARGIN, 302
         TOPMARGIN, 7
-        BOTTOMMARGIN, 191
+        BOTTOMMARGIN, 206
     END
 
     IDD_SELECT_DB, DIALOG

+ 14 - 0
Misc.cpp

@@ -483,6 +483,7 @@ BOOL CGetSetOptions::m_bDrawRTF;
 BOOL CGetSetOptions::m_bMultiPasteReverse;
 CString CGetSetOptions::m_csPlaySoundOnCopy;
 CStringArray CGetSetOptions::m_csNetworkPasswordArray;
+BOOL CGetSetOptions::m_bSendPasteMessageAfterSelection;
 
 CGetSetOptions g_Opt;
 
@@ -511,6 +512,7 @@ CGetSetOptions::CGetSetOptions()
 	m_bDrawRTF = GetDrawRTF();
 	m_bMultiPasteReverse = GetMultiPasteReverse();
 	m_csPlaySoundOnCopy = GetPlaySoundOnCopy();
+	m_bSendPasteMessageAfterSelection = GetSendPasteAfterSelection();
 
 	CString cs = GetProfileString("NetorkPassword1", "");
 	m_csNetworkPasswordArray.Add(cs);
@@ -1268,6 +1270,18 @@ CString CGetSetOptions::GetPlaySoundOnCopy()
 	return GetProfileString("PlaySoundOnCopy", "");
 }
 
+void CGetSetOptions::SetSendPasteAfterSelection(BOOL bVal)
+{
+	m_bSendPasteMessageAfterSelection = bVal;
+
+	SetProfileLong("SendPasteMessageAfterSelection", bVal);
+}
+
+BOOL CGetSetOptions::GetSendPasteAfterSelection()
+{
+	return GetProfileLong("SendPasteMessageAfterSelection", TRUE);
+}
+
 /*------------------------------------------------------------------*\
 CHotKey - a single system-wide hotkey
 \*------------------------------------------------------------------*/

+ 4 - 0
Misc.h

@@ -328,6 +328,10 @@ public:
 	static void		SetPlaySoundOnCopy(CString cs);
 	static CString	GetPlaySoundOnCopy();
 
+	static BOOL		m_bSendPasteMessageAfterSelection;
+	static void		SetSendPasteAfterSelection(BOOL bVal);
+	static BOOL		GetSendPasteAfterSelection();
+
 	static CStringArray m_csNetworkPasswordArray;
 
 	/*

+ 4 - 1
OptionsGeneral.cpp

@@ -34,6 +34,7 @@ void COptionsGeneral::DoDataExchange(CDataExchange* pDX)
 {
 	CPropertyPage::DoDataExchange(pDX);
 	//{{AFX_DATA_MAP(COptionsGeneral)
+	DDX_Control(pDX, IDC_SEND_PASTE_MESSAGE, m_btSendPasteMessage);
 	DDX_Control(pDX, IDC_HIDE_DITO_ON_HOT_KEY, m_btHideDittoOnHotKey);
 	DDX_Control(pDX, IDC_DESC_TEXT_SIZE, m_DescTextSize);
 	DDX_Control(pDX, IDC_GET_PATH, m_btGetPath);
@@ -81,7 +82,7 @@ BOOL COptionsGeneral::OnInitDialog()
 	m_btExpire.SetCheck(CGetSetOptions::GetCheckForExpiredEntries());
 	m_btCompactAndRepair.SetCheck(CGetSetOptions::GetCompactAndRepairOnExit());
 	m_btCheckForUpdates.SetCheck(CGetSetOptions::GetCheckForUpdates());
-
+	
 	m_eExpireAfter.SetNumber(CGetSetOptions::GetExpiredEntries());
 	m_eMaxSavedCopies.SetNumber(CGetSetOptions::GetMaxEntries());
 	m_DescTextSize.SetNumber(g_Opt.m_bDescTextSize);
@@ -90,6 +91,7 @@ BOOL COptionsGeneral::OnInitDialog()
 	m_btUpdateTimeOnPaste.SetCheck( g_Opt.m_bUpdateTimeOnPaste );
 	m_btSaveMultiPaste.SetCheck( g_Opt.m_bSaveMultiPaste );
 	m_btHideDittoOnHotKey.SetCheck(g_Opt.m_HideDittoOnHotKeyIfAlreadyShown);
+	m_btSendPasteMessage.SetCheck(g_Opt.m_bSendPasteMessageAfterSelection);
 
 	CString csPath = CGetSetOptions::GetDBPath(FALSE);
 	if(csPath.IsEmpty())
@@ -125,6 +127,7 @@ BOOL COptionsGeneral::OnApply()
 	CGetSetOptions::SetCompactAndRepairOnExit(m_btCompactAndRepair.GetCheck());
 	CGetSetOptions::SetCheckForUpdates(m_btCheckForUpdates.GetCheck());
 	CGetSetOptions::SetHideDittoOnHotKeyIfAlreadyShown(m_btHideDittoOnHotKey.GetCheck());
+	CGetSetOptions::SetSendPasteAfterSelection(m_btSendPasteMessage.GetCheck());
 	
 	CGetSetOptions::SetMaxEntries(m_eMaxSavedCopies.GetNumber());
 	CGetSetOptions::SetExpiredEntries(m_eExpireAfter.GetNumber());

+ 1 - 0
OptionsGeneral.h

@@ -27,6 +27,7 @@ public:
 // Dialog Data
 	//{{AFX_DATA(COptionsGeneral)
 	enum { IDD = IDD_OPTIONS_GENERAL };
+	CButton	m_btSendPasteMessage;
 	CButton	m_btHideDittoOnHotKey;
 	CNumberEdit	m_DescTextSize;
 	CButton	m_btGetPath;

+ 7 - 4
ProcessCopy.cpp

@@ -418,11 +418,14 @@ bool CClip::AddToDB( bool bCheckForDuplicates )
 	}
 	CATCHDAO
 		
-		// AddToDataTable must go first in order to assign m_DataID
-		bResult = AddToDataTable() && AddToMainTable();
+	// AddToDataTable must go first in order to assign m_DataID
+	bResult = AddToDataTable() && AddToMainTable();
 
-	if(g_Opt.m_csPlaySoundOnCopy.GetLength() > 0)
-		PlaySound(g_Opt.m_csPlaySoundOnCopy, NULL, SND_FILENAME|SND_ASYNC);
+	if(bResult)
+	{
+		if(g_Opt.m_csPlaySoundOnCopy.GetLength() > 0)
+			PlaySound(g_Opt.m_csPlaySoundOnCopy, NULL, SND_FILENAME|SND_ASYNC);
+	}
 	
 	// should be emptied by AddToDataTable
 	ASSERT( m_Formats.GetSize() == 0 );

+ 20 - 1
QPasteWnd.cpp

@@ -118,6 +118,7 @@ BEGIN_MESSAGE_MAP(CQPasteWnd, CWndEx)
 	ON_COMMAND(ID_MENU_QUICKOPTIONS_FONT, OnMenuQuickoptionsFont)
 	ON_COMMAND(ID_MENU_QUICKOPTIONS_SHOWTHUMBNAILS, OnMenuQuickoptionsShowthumbnails)
 	ON_COMMAND(ID_MENU_QUICKOPTIONS_DRAWRTFTEXT, OnMenuQuickoptionsDrawrtftext)
+	ON_COMMAND(ID_MENU_QUICKOPTIONS_PASTECLIPAFTERSELECTION, OnMenuQuickoptionsPasteclipafterselection)
 	//}}AFX_MSG_MAP
 	ON_MESSAGE(NM_SELECT, OnListSelect)
 	ON_MESSAGE(NM_END, OnListEnd)
@@ -444,10 +445,15 @@ BOOL CQPasteWnd::OpenID(long lID, bool bOnlyLoad_CF_TEXT)
 
 	// else, it is a clip, so paste it
 	CProcessPaste paste;
+	paste.m_bSendPaste = g_Opt.m_bSendPasteMessageAfterSelection == TRUE ? true : false;
 	paste.m_bOnlyPaste_CF_TEXT = bOnlyLoad_CF_TEXT;
 	paste.GetClipIDs().Add( lID );
 	paste.DoPaste();
 	theApp.OnPasteCompleted();
+
+	if(g_Opt.m_bSendPasteMessageAfterSelection == FALSE)
+		theApp.ActivateTarget();
+
 	return TRUE;
 }
 
@@ -466,10 +472,15 @@ BOOL CQPasteWnd::OpenSelection(bool bOnlyLoad_CF_TEXT)
 	// else count > 1
 	
 	CProcessPaste paste;
+	paste.m_bSendPaste = g_Opt.m_bSendPasteMessageAfterSelection == TRUE ? true : false;
 	paste.m_bOnlyPaste_CF_TEXT = bOnlyLoad_CF_TEXT;
-	paste.GetClipIDs().Copy( IDs );
+	paste.GetClipIDs().Copy(IDs);
 	paste.DoPaste();
 	theApp.OnPasteCompleted();
+
+	if(g_Opt.m_bSendPasteMessageAfterSelection == FALSE)
+		theApp.ActivateTarget();
+
 	return TRUE;
 }
 
@@ -915,6 +926,9 @@ void CQPasteWnd::SetMenuChecks(CMenu *pMenu)
 	if(g_Opt.m_bDrawRTF)
 		pMenu->CheckMenuItem(ID_MENU_QUICKOPTIONS_DRAWRTFTEXT, MF_CHECKED);
 
+	if(g_Opt.m_bSendPasteMessageAfterSelection)
+		pMenu->CheckMenuItem(ID_MENU_QUICKOPTIONS_PASTECLIPAFTERSELECTION, MF_CHECKED);
+
 	SetSendToMenu(pMenu, ID_MENU_SENTTO_FRIENDONE, 0);
 	SetSendToMenu(pMenu, ID_MENU_SENTTO_FRIEND_TWO, 1);
 	SetSendToMenu(pMenu, ID_MENU_SENTTO_FRIEND_THREE, 2);
@@ -1443,6 +1457,11 @@ void CQPasteWnd::OnMenuQuickoptionsDrawrtftext()
 	m_lstHeader.RefreshVisibleRows();
 }
 
+void CQPasteWnd::OnMenuQuickoptionsPasteclipafterselection() 
+{
+	CGetSetOptions::SetSendPasteAfterSelection(!g_Opt.m_bSendPasteMessageAfterSelection);	
+}
+
 ///////////////////////////////////////////////////////////////////////
 //END END Menu Stuff
 ///////////////////////////////////////////////////////////////////////

+ 1 - 0
QPasteWnd.h

@@ -169,6 +169,7 @@ protected:
 	afx_msg void OnMenuQuickoptionsFont();
 	afx_msg void OnMenuQuickoptionsShowthumbnails();
 	afx_msg void OnMenuQuickoptionsDrawrtftext();
+	afx_msg void OnMenuQuickoptionsPasteclipafterselection();
 	//}}AFX_MSG
 	afx_msg LRESULT OnListSelect(WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnListEnd(WPARAM wParam, LPARAM lParam);

+ 3 - 1
Resource.h

@@ -88,6 +88,7 @@
 #define IDC_BUTTON_FONT                 1040
 #define IDC_BUTTON_NEW_GROUP            1040
 #define IDC_PARSE_EDIT                  1041
+#define IDC_SEND_PASTE_MESSAGE          1041
 #define IDC_CHECK1                      1042
 #define IDC_HISTORY_START_TOP           1042
 #define IDC_CHECK_SEND_PASTE            1042
@@ -222,6 +223,7 @@
 #define ID_MENU_QUICKOPTIONS_FONT       32844
 #define ID_MENU_QUICKOPTIONS_SHOWTHUMBNAILS 32845
 #define ID_MENU_QUICKOPTIONS_DRAWRTFTEXT 32846
+#define ID_MENU_QUICKOPTIONS_PASTECLIPAFTERSELECTION 32847
 
 // Next default values for new objects
 // 
@@ -229,7 +231,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
 #define _APS_NEXT_RESOURCE_VALUE        157
-#define _APS_NEXT_COMMAND_VALUE         32847
+#define _APS_NEXT_COMMAND_VALUE         32848
 #define _APS_NEXT_CONTROL_VALUE         2036
 #define _APS_NEXT_SYMED_VALUE           101
 #endif