|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1998.
//
// File: Settings.h
//
// Contents: Onestop Settings PropertyPage Dialog box classes
//
// Classes: CAutoSyncPage
// CSchedSyncPage
//
// Notes:
//
// History: 14-Nov-97 SusiA Created.
//
//--------------------------------------------------------------------------
#ifndef _SETTINGSDLG_
#define _SETTINGSDLG_
// definitions for Advnanced Idle Setting Spin Control
#define SPINDIALWAITMINUTES_MIN 1
#define SPINDIALWAITMINUTES_MAX 999
#define SPINDIALREPEATMINUTES_MIN 1
#define SPINDIALREPEATMINUTES_MAX 999
#define WM_NOTIFYLISTVIEWEX (WM_USER + 1)
//+-------------------------------------------------------------------------------
//
// CLASS: CAutoSyncPage
//
// PURPOSE: Handle the AutoSync Psge
//
//--------------------------------------------------------------------------------
class CAutoSyncPage { public: inline CAutoSyncPage(HINSTANCE hinst); ~CAutoSyncPage();
void SetAutoSyncHwnd(HWND hwnd); void SetIdleHwnd(HWND hwnd); BOOL InitializeHwnd(HWND hwnd,SYNCTYPE syncType,DWORD dwDefaultConnection); DWORD GetNumConnections(HWND hwnd,SYNCTYPE syncType); BOOL ShowItemsOnThisConnection(HWND hwnd,SYNCTYPE syncType,DWORD dwConnectionNum); BOOL SetItemCheckState(HWND hwnd,SYNCTYPE syncType,int iItem, BOOL fChecked,int iCheckCount); BOOL SetConnectionCheck(HWND hwnd,SYNCTYPE syncType,WORD wParam,DWORD dwCheckState);
HRESULT GetAdvancedIdleSettings(LPCONNECTIONSETTINGS pConnectionSettings); HRESULT SetAdvancedIdleSettings(LPCONNECTIONSETTINGS pConnectionSettings);
HRESULT ShowProperties(HWND hwnd,int iItem);
SCODE CommitAutoSyncChanges(); SCODE CommitIdleChanges();
private: BOOL InitializeHandler(HWND hwnd,SYNCTYPE SyncType); BOOL Initialize(HWND hwnd,DWORD dwDefaultConnection); // called to initialize the AutoSync page
CHndlrQueue *m_HndlrQueue; HWND m_hwndAutoSync; HWND m_hwndIdle; CListView *m_pItemListViewAutoSync; CListView *m_pItemListViewIdle; BOOL m_pItemListViewAutoSyncInitialized; BOOL m_fListViewIdleInitialized; HINSTANCE m_hinst; CRasUI *m_pRas; BOOL m_fInitialized; BOOL m_fItemsOnConnection;
friend INT_PTR CALLBACK AutoSyncDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam); friend INT_PTR CALLBACK IdleSyncDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam); };
//+-------------------------------------------------------------------------------
//
// CLASS: CSchedSyncPage
//
// PURPOSE: Handle the SchedSync Psge
//
//--------------------------------------------------------------------------------
class CSchedSyncPage { public:
CSchedSyncPage(HINSTANCE hinst, HWND hwnd); ~CSchedSyncPage();
BOOL Initialize(); BOOL ShowAllSchedules(); BOOL FreeAllSchedules(); HRESULT InitializeScheduleAgent(); BOOL StartScheduleWizard(); BOOL EditTask(int iItem); BOOL RemoveTask(int iItem);
BOOL OnCommand(HWND hDlg, WORD wNotifyCode, WORD wID, HWND hwndCtl); BOOL OnNotify(HWND hwnd, int idFrom, LPNMHDR pnmhdr); BOOL SetButtonState(int nIDDlgItem,BOOL fEnabled);
private: HWND m_hwnd; HINSTANCE m_hinst;
LPSYNCSCHEDULEMGR m_pISyncSchedMgr; int m_iDefaultIconImageIndex;
};
//+-------------------------------------------------------------------------------
//
// FUNCTION: CAutoSyncPage::CAutoSyncPage(HWND hwnd)
//
// PURPOSE: Constructor
//
// COMMENTS: Constructor for AutoSync page
//
//--------------------------------------------------------------------------------
inline CAutoSyncPage::CAutoSyncPage(HINSTANCE hinst) { m_hinst = hinst; m_HndlrQueue = NULL; m_fInitialized = FALSE; m_fItemsOnConnection = FALSE;
m_hwndIdle = NULL; m_hwndAutoSync = NULL;
m_pItemListViewAutoSync = NULL; m_pItemListViewIdle = NULL; m_pItemListViewAutoSyncInitialized = FALSE; m_fListViewIdleInitialized = FALSE;
}
//+-------------------------------------------------------------------------------
//
// FUNCTION: CSchedSyncPage::CSchedSyncPage(HWND hwnd)
//
// PURPOSE: Constructor
//
// COMMENTS: Constructor for SchedSync page
//
//--------------------------------------------------------------------------------
inline CSchedSyncPage::CSchedSyncPage(HINSTANCE hinst, HWND hwnd) { m_hwnd = hwnd; m_hinst = hinst; m_pISyncSchedMgr = NULL;
} //+-------------------------------------------------------------------------------
//
// FUNCTION: CSchedSyncPage::~CSchedSyncPage(HWND hwnd)
//
// PURPOSE: Constructor
//
// COMMENTS: Constructor for SchedSync page
//
//--------------------------------------------------------------------------------
inline CSchedSyncPage::~CSchedSyncPage() { if (m_pISyncSchedMgr) { m_pISyncSchedMgr->Release(); } }
#endif // _SETTINGSDLG_
|