Browse Source

added option to not place cf_hdrop onto the drag object when dragging from Ditto. Found latest firefox wouldn't accept drops if the cf_hdrop type was on there

sabrogden 5 years ago
parent
commit
69c20c2ff5
7 changed files with 36 additions and 1 deletions
  1. 15 0
      AdvGeneral.cpp
  2. 2 1
      OleClipSource.cpp
  3. 10 0
      Options.cpp
  4. 3 0
      Options.h
  5. 4 0
      QPasteWnd.cpp
  6. 1 0
      SpecialPasteOptions.cpp
  7. 1 0
      SpecialPasteOptions.h

+ 15 - 0
AdvGeneral.cpp

@@ -125,6 +125,7 @@ END_MESSAGE_MAP()
 #define SETTING_FIRST_TEN_HOTKEYS_FONT_SIZE 75
 #define SETTING_FIRST_TEN_HOTKEYS_FONT_SIZE 75
 
 
 #define SETTING_OPEN_TO_GROUP_AS_ACTIVE_EXE 76
 #define SETTING_OPEN_TO_GROUP_AS_ACTIVE_EXE 76
+#define SETTING_ADD_CF_HDROP_ON_DRAG 77
 
 
 BOOL CAdvGeneral::OnInitDialog()
 BOOL CAdvGeneral::OnInitDialog()
 {
 {
@@ -156,6 +157,8 @@ BOOL CAdvGeneral::OnInitDialog()
 
 
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Activate Window Delay (100ms default)"), (long)CGetSetOptions::SendKeysDelay(), _T(""), SETTING_ACTIVATE_WINDOW_DELAY));
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Activate Window Delay (100ms default)"), (long)CGetSetOptions::SendKeysDelay(), _T(""), SETTING_ACTIVATE_WINDOW_DELAY));
 
 
+	AddTrueFalse(pGroupTest, _T("Add File Drop when dragging clips"), CGetSetOptions::GetAddCFHDROP_OnDrag(), SETTING_ADD_CF_HDROP_ON_DRAG);
+
 	AddTrueFalse(pGroupTest, _T("Allow Duplicates"), CGetSetOptions::GetAllowDuplicates(), SETTING_ALLOW_DUPLICATES);
 	AddTrueFalse(pGroupTest, _T("Allow Duplicates"), CGetSetOptions::GetAllowDuplicates(), SETTING_ALLOW_DUPLICATES);
 	AddTrueFalse(pGroupTest, _T("Always Show Scroll Bar"), CGetSetOptions::GetShowScrollBar(), SETTING_ALWAYS_SHOW_SCROLL_BAR);
 	AddTrueFalse(pGroupTest, _T("Always Show Scroll Bar"), CGetSetOptions::GetShowScrollBar(), SETTING_ALWAYS_SHOW_SCROLL_BAR);
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Amount of text to save for description"), g_Opt.m_bDescTextSize, _T(""), SETTING_DESC_SIZE));
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Amount of text to save for description"), g_Opt.m_bDescTextSize, _T(""), SETTING_DESC_SIZE));
@@ -766,6 +769,18 @@ void CAdvGeneral::OnBnClickedOk()
 					CGetSetOptions::SetOpenToGroupByActiveExe(val);
 					CGetSetOptions::SetOpenToGroupByActiveExe(val);
 				}
 				}
 				break;
 				break;
+
+			case SETTING_ADD_CF_HDROP_ON_DRAG:
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
+				{
+					BOOL val = false;
+					if (wcscmp(pNewValue->bstrVal, L"True") == 0)
+					{
+						val = true;
+					}
+					CGetSetOptions::SetAddCFHDROP_OnDrag(val);
+				}
+				break;
 			}
 			}
 		}
 		}
 	}
 	}

+ 2 - 1
OleClipSource.cpp

@@ -61,7 +61,8 @@ BOOL COleClipSource::DoDelayRender()
 		}
 		}
 	}
 	}
 
 
-	if (foundHDrop == false)
+	if (m_pasteOptions.m_placeCF_HDROP_OnDrag &&
+		foundHDrop == false)
 	{
 	{
 		DelayRenderData(CF_HDROP);
 		DelayRenderData(CF_HDROP);
 		m_convertToHDROPOnDelayRender = true;
 		m_convertToHDROPOnDelayRender = true;

+ 10 - 0
Options.cpp

@@ -2840,4 +2840,14 @@ void CGetSetOptions::SetFirstTenHotKeysFontSize(int val)
 {
 {
 	m_firstTenHotKeysFontSize = val;
 	m_firstTenHotKeysFontSize = val;
 	SetProfileLong("FirstTenHotKeysFontSize", val);
 	SetProfileLong("FirstTenHotKeysFontSize", val);
+}
+
+BOOL CGetSetOptions::GetAddCFHDROP_OnDrag()
+{
+	return GetProfileLong(_T("AddCFHDROP_OnDrag"), TRUE);
+}
+
+void CGetSetOptions::SetAddCFHDROP_OnDrag(BOOL val)
+{
+	SetProfileLong(_T("AddCFHDROP_OnDrag"), val);
 }
 }

+ 3 - 0
Options.h

@@ -633,6 +633,9 @@ public:
 	static int m_firstTenHotKeysFontSize;
 	static int m_firstTenHotKeysFontSize;
 	static int GetFirstTenHotKeysFontSize();
 	static int GetFirstTenHotKeysFontSize();
 	static void SetFirstTenHotKeysFontSize(int val);
 	static void SetFirstTenHotKeysFontSize(int val);
+
+	static BOOL GetAddCFHDROP_OnDrag();
+	static void SetAddCFHDROP_OnDrag(BOOL val);
 };
 };
 
 
 // global for easy access and for initialization of fast access variables
 // global for easy access and for initialization of fast access variables

+ 4 - 0
QPasteWnd.cpp

@@ -5050,6 +5050,10 @@ void CQPasteWnd::OnBegindrag(NMHDR *pNMHDR, LRESULT *pResult)
 	{
 	{
 		paste.m_pasteOptions.m_dragDropFilesOnly = true;
 		paste.m_pasteOptions.m_dragDropFilesOnly = true;
 	}
 	}
+	else
+	{
+		paste.m_pasteOptions.m_placeCF_HDROP_OnDrag = g_Opt.GetAddCFHDROP_OnDrag();
+	}
 
 
 	CClipIDs &clips = paste.GetClipIDs();
 	CClipIDs &clips = paste.GetClipIDs();
 
 

+ 1 - 0
SpecialPasteOptions.cpp

@@ -22,6 +22,7 @@ CSpecialPasteOptions::CSpecialPasteOptions()
 	m_trimWhiteSpace = false;
 	m_trimWhiteSpace = false;
 	m_pasteSlugify = false;
 	m_pasteSlugify = false;
 	m_invertCase = false;
 	m_invertCase = false;
+	m_placeCF_HDROP_OnDrag = true;
 }
 }
 
 
 CSpecialPasteOptions::~CSpecialPasteOptions()
 CSpecialPasteOptions::~CSpecialPasteOptions()

+ 1 - 0
SpecialPasteOptions.h

@@ -25,6 +25,7 @@ public:
 	bool m_trimWhiteSpace;
 	bool m_trimWhiteSpace;
 	bool m_pasteSlugify;
 	bool m_pasteSlugify;
 	bool m_invertCase;
 	bool m_invertCase;
+	bool m_placeCF_HDROP_OnDrag;
 
 
 	bool LimitFormatsToText() 
 	bool LimitFormatsToText() 
 	{ 
 	{