00001
00002
00003
00004
00005
00006 #if !defined(AFX_DOWNLOADS_GROUPS_H__DC760A3A_7E05_41EE_8E48_95B376BE8EB1__INCLUDED_)
00007 #define AFX_DOWNLOADS_GROUPS_H__DC760A3A_7E05_41EE_8E48_95B376BE8EB1__INCLUDED_
00008
00009 #if _MSC_VER > 1000
00010 #pragma once
00011 #endif
00012
00013 #include "fsODMenu.h"
00014 #include "fsDldFilter.h"
00015 #include "vmsDownloadsGroupsMgr.h"
00016
00017 class CDownloads_Groups : public CTreeCtrl
00018 {
00019 friend class CDownloadsWnd;
00020
00021 public:
00022 CDownloads_Groups();
00023
00024 public:
00025
00026 public:
00027
00028
00029
00030
00031 public:
00032 void UpdateNumbersOfDownloadsInGroups();
00033
00034 void OnGroupNameChanged (vmsDownloadsGroupSmartPtr pGroup);
00035
00036 void OnNewGroupCreated (vmsDownloadsGroupSmartPtr pGroup);
00037
00038 void SetGroupFilter (vmsDownloadsGroupSmartPtr pGroup);
00039
00040 void UpdateDeletedIcon();
00041
00042 void SetFilter_DeletedDownloads();
00043
00044 void SetFilter_AllHistory();
00045
00046 void SetFilter_AllDownloads();
00047
00048 fsDldHistRecFilter* GetHistoryCurrentFilter();
00049
00050 fsDldFilter* GetCurrentFilter ();
00051
00052 void ApplyLanguage();
00053
00054 void ApplyNotGroupFilterForDownload (vmsDownloadSmartPtr dld);
00055
00056 class CDownloadsWnd *m_pWndDownloads;
00057 BOOL Create (CWnd* pParent);
00058 virtual ~CDownloads_Groups();
00059
00060 protected:
00061
00062 HTREEITEM m_hContextMenuItem;
00063
00064 BOOL IsGroupItem (HTREEITEM hItem);
00065
00066 HTREEITEM InsertGroup (vmsDownloadsGroupSmartPtr pGroup, HTREEITEM hRoot);
00067
00068 int FindGroupIndex (vmsDownloadsGroupSmartPtr pGroup);
00069
00070 void InsertGroups_tree (PDLDS_GROUPS_TREE pRoot, HTREEITEM hRoot);
00071
00072 void CustomizeHistoryFilter();
00073
00074 void ApplyLanguageToMenu_History (CMenu* menu);
00075 void ShowHistoryContextMenu();
00076
00077 void ApplyLanguageToMenu_Deleted (CMenu* menu);
00078 void ShowDeletedContextMenu();
00079
00080 void InsertDeleted();
00081
00082 void InsertHistory();
00083
00084 void ShowGrpContextMenu(HTREEITEM hItem = NULL, BOOL bAutoDetect = TRUE);
00085
00086 void ApplyLanguageToMenu (CMenu *menu);
00087 CImageList m_odmenuDImages;
00088 CImageList m_odmenuImages;
00089 fsODMenu m_odmenu;
00090
00091 HTREEITEM m_hCompleted, m_hInProgress, m_hStopped, m_hScheduled;
00092
00093 HTREEITEM m_hTasks;
00094 HTREEITEM m_hFilters;
00095
00096 struct _inc_GroupItem {
00097 fsDldGroupFilter *pGroupFilter;
00098 HTREEITEM hGroup;
00099
00100 size_t cDownloads;
00101 };
00102
00103 std::vector <fsDldFilter*> m_vStateFilters;
00104
00105 std::vector <_inc_GroupItem> m_vGroups;
00106
00107 size_t m_cTotalDownloads;
00108 fsDldFilter m_filterAll;
00109
00110 void InsertFilters();
00111 HTREEITEM m_hOther;
00112
00113 HTREEITEM m_hHistory, m_hToday, m_hYesterday, m_hLastWeek, m_hLastMonth, m_hHistCustom;
00114
00115 fsDldHistRecFilter m_filterAllHist;
00116 fsDldHistRecFilter_Custom m_filterCustomHist;
00117 fsDldHistRecFilter_Yesterday m_filterYesterday;
00118 fsDldHistRecFilter_Today m_filterToday;
00119 fsDldHistRecFilter_DuringPeriod m_filterLastWeek;
00120 fsDldHistRecFilter_DuringPeriod m_filterLastMonth;
00121 fsDldTasksFilter m_filterTasks;
00122
00123 HTREEITEM m_hDeleted;
00124 int m_rbY;
00125 int m_rbX;
00126 HTREEITEM m_hAllGroups;
00127
00128 void InsertGroups ();
00129 CImageList m_images;
00130
00131 afx_msg void OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);
00132 afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
00133 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
00134 afx_msg void OnGrpdelete();
00135 afx_msg void OnGrpproperties();
00136 afx_msg void OnGrpstartall();
00137 afx_msg void OnGrpstopall();
00138 afx_msg void OnGrpcreate();
00139 afx_msg void OnGrpdeleteall();
00140 afx_msg void OnGrpdeleteallsuccessful();
00141 afx_msg void OnOpengroupfolder();
00142 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
00143 afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
00144 afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
00145 afx_msg void OnKeydown(NMHDR* pNMHDR, LRESULT* pResult);
00146 afx_msg void OnDeletedClear();
00147 afx_msg void OnDeletedProperties();
00148 afx_msg void OnHistoryClear();
00149 afx_msg void OnHistorySettings();
00150 afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
00151 afx_msg void OnSetGroupsRootFolder();
00152 afx_msg void OnTimer(UINT nIDEvent);
00153 afx_msg void OnGrpdeletealldeaddlds();
00154
00155
00156 DECLARE_MESSAGE_MAP()
00157 };
00158
00159
00160
00161 #endif