Browse Source

added a move to group menu item

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@118 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 21 years ago
parent
commit
b8feb21eec
7 changed files with 73 additions and 10 deletions
  1. 1 0
      CP_Main.cpp
  2. 22 0
      CP_Main.rc
  3. 14 4
      GroupTree.cpp
  4. 1 0
      GroupTree.h
  5. 28 3
      QPasteWnd.cpp
  6. 1 0
      QPasteWnd.h
  7. 6 3
      Resource.h

+ 1 - 0
CP_Main.cpp

@@ -531,6 +531,7 @@ BOOL bResult = FALSE;
 	switch( lID )
 	{
 	case 0:  // History Group "ID"
+		m_FocusID = -2;
 		m_GroupID = 0;
 		m_GroupParentID = 0;
 		m_GroupText = "History";

+ 22 - 0
CP_Main.rc

@@ -172,6 +172,8 @@ BEGIN
             MENUITEM "New Group\tCtrl-F7",          ID_MENU_NEWGROUP
             MENUITEM "New Group Selection\tF7",     ID_MENU_NEWGROUPSELECTION
 
+            MENUITEM "Move to Group",               ID_MENU_GROUPS_MOVETOGROUP
+
         END
         POPUP "Quick Options"
         BEGIN
@@ -656,6 +658,18 @@ BEGIN
     EDITTEXT        IDC_EDIT_DESCRIPTION,47,39,149,13,ES_AUTOHSCROLL
 END
 
+IDD_MOVE_TO_GROUP DIALOG DISCARDABLE  0, 0, 254, 177
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Move to Group"
+FONT 8, "MS Sans Serif"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,143,156,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,197,156,50,14
+    CONTROL         "Tree1",IDC_TREE,"SysTreeView32",TVS_HASBUTTONS | 
+                    TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | 
+                    WS_BORDER | WS_TABSTOP,7,7,240,142
+END
+
 
 #ifndef _MAC
 /////////////////////////////////////////////////////////////////////////////
@@ -823,6 +837,14 @@ BEGIN
         TOPMARGIN, 7
         BOTTOMMARGIN, 72
     END
+
+    IDD_MOVE_TO_GROUP, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 247
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 170
+    END
 END
 #endif    // APSTUDIO_INVOKED
 

+ 14 - 4
GroupTree.cpp

@@ -163,12 +163,21 @@ void CGroupTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
 {
 	TRACE("Dbl Click\n");
 	HTREEITEM hItem =  GetNextItem(TVI_ROOT, TVGN_CARET);
-	SendToParent(GetItemData(hItem));
-	//SendToParent(-1);
-		
+	if(hItem)
+		SendToParent(GetItemData(hItem));
+			
 	*pResult = 1;
 }
 
+long CGroupTree::GetSelectedTree()
+{
+	HTREEITEM hItem =  GetNextItem(TVI_ROOT, TVGN_CARET);
+	if(hItem)
+		return (long)GetItemData(hItem);
+
+	return -1;
+}
+
 void CGroupTree::OnKeydown(NMHDR* pNMHDR, LRESULT* pResult) 
 {
 	TV_KEYDOWN* pTVKeyDown = (TV_KEYDOWN*)pNMHDR;
@@ -179,7 +188,8 @@ void CGroupTree::OnKeydown(NMHDR* pNMHDR, LRESULT* pResult)
 	{	
 		TRACE("Return\n");
 		HTREEITEM hItem =  GetNextItem(TVI_ROOT, TVGN_CARET);
-		SendToParent(GetItemData(hItem));
+		if(hItem)
+			SendToParent(GetItemData(hItem));
 		
 		break;
 	}

+ 1 - 0
GroupTree.h

@@ -25,6 +25,7 @@ public:
 	void SetNotificationWndEx(HWND hWnd)	{ m_NotificationWnd = hWnd;	}
 	bool m_bHide;
 	long m_lSelectedFolderID;
+	long GetSelectedTree();
 
 protected:
 	void FillTree(long lParentID, HTREEITEM hParent);

+ 28 - 3
QPasteWnd.cpp

@@ -8,6 +8,7 @@
 #include "CopyProperties.h"
 #include "GroupName.h"
 #include ".\qpastewnd.h"
+#include "MoveToGroupDlg.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -109,6 +110,7 @@ ON_COMMAND(ID_MENU_VIEWGROUPS, OnMenuViewgroups)
 	ON_COMMAND(ID_MENU_SENTTO_FRIEND_TWO, OnMenuSenttoFriendTwo)
 	ON_COMMAND(ID_MENU_SENTTO_FRIENDONE, OnMenuSenttoFriendone)
 	ON_COMMAND(ID_MENU_SENTTO_PROMPTFORIP, OnMenuSenttoPromptforip)
+	ON_COMMAND(ID_MENU_GROUPS_MOVETOGROUP, OnMenuGroupsMovetogroup)
 	//}}AFX_MSG_MAP
 ON_MESSAGE(NM_SELECT, OnListSelect)
 ON_MESSAGE(NM_END, OnListEnd)
@@ -632,9 +634,9 @@ BOOL CQPasteWnd::FillList(CString csSQLSearch/*=""*/)
 		m_lstHeader.m_bStartTop = true;
 		
 		if( g_Opt.m_bHistoryStartTop )
-			m_Recset.m_strSort = "bIsGroup DESC, Left([mText],250) DESC";
+			m_Recset.m_strSort = "bIsGroup DESC, lDate DESC";
 		else
-			m_Recset.m_strSort = "bIsGroup ASC, Left([mText],250) ASC";
+			m_Recset.m_strSort = "bIsGroup ASC, lDate ASC";
 		
 		
 		if( theApp.m_GroupID > 0 )
@@ -1360,6 +1362,30 @@ void CQPasteWnd::OnMenuSenttoPromptforip()
 	
 }
 
+void CQPasteWnd::OnMenuGroupsMovetogroup() 
+{
+	m_bHideWnd = false;
+
+	CMoveToGroupDlg dlg;
+	
+	if(dlg.DoModal() == IDOK)
+	{
+		int nGroup = dlg.GetSelectedGroup();
+		if(nGroup >= 0)
+		{
+			CClipIDs IDs;
+			m_lstHeader.GetSelectionItemData( IDs );
+
+			IDs.MoveTo(nGroup);
+		}		
+	}
+
+	m_bHideWnd = true;
+
+	FillList();
+}
+
+
 ///////////////////////////////////////////////////////////////////////
 //END END Menu Stuff
 ///////////////////////////////////////////////////////////////////////
@@ -1981,4 +2007,3 @@ void CQPasteWnd::OnBackButton()
 {
 	theApp.EnterGroupID(theApp.m_GroupParentID);
 }
-

+ 1 - 0
QPasteWnd.h

@@ -164,6 +164,7 @@ protected:
 	afx_msg void OnMenuSenttoFriendTwo();
 	afx_msg void OnMenuSenttoFriendone();
 	afx_msg void OnMenuSenttoPromptforip();
+	afx_msg void OnMenuGroupsMovetogroup();
 	//}}AFX_MSG
 	afx_msg LRESULT OnListSelect(WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnListEnd(WPARAM wParam, LPARAM lParam);

+ 6 - 3
Resource.h

@@ -32,6 +32,7 @@
 #define IDB_VERTICAL_SCROLLBAR_CHANNEL  152
 #define IDB_VERTICAL_SCROLLBAR_THUMB    153
 #define IDB_VERTICAL_SCROLLBAR_UPARROW  155
+#define IDD_MOVE_TO_GROUP               156
 #define IDC_PATH                        1000
 #define IDC_GET_PATH                    1001
 #define IDC_SELECT                      1003
@@ -119,6 +120,7 @@
 #define IDC_HOTKEY3                     2026
 #define IDC_CHECK_DISABLE_FRIENDS       2026
 #define IDC_HOTKEY4                     2027
+#define IDC_TREE                        2027
 #define IDC_HOTKEY5                     2028
 #define IDC_HOTKEY6                     2029
 #define IDC_HOTKEY7                     2030
@@ -190,15 +192,16 @@
 #define ID_MENU_SENTTO_FRIEND_FORETEEN  32837
 #define ID_MENU_SENTTO_FRIEND_FIFTEEN   32838
 #define ID_MENU_SENTTO_PROMPTFORIP      32839
+#define ID_MENU_GROUPS_MOVETOGROUP      32840
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
-#define _APS_NEXT_RESOURCE_VALUE        156
-#define _APS_NEXT_COMMAND_VALUE         32840
-#define _APS_NEXT_CONTROL_VALUE         2027
+#define _APS_NEXT_RESOURCE_VALUE        157
+#define _APS_NEXT_COMMAND_VALUE         32841
+#define _APS_NEXT_CONTROL_VALUE         2028
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif