mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[RAPPS] Don't use CDownloadManager outside loaddlg.cpp
This commit is contained in:
parent
2c965f67d5
commit
1807dbfd6d
5 changed files with 79 additions and 66 deletions
|
@ -300,7 +300,7 @@ BOOL CAvailableApps::UpdateAppsDB()
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
CDownloadManager::DownloadApplicationsDB(APPLICATION_DATABASE_URL);
|
DownloadApplicationsDB(APPLICATION_DATABASE_URL);
|
||||||
|
|
||||||
if (!ExtractFilesFromCab(m_Strings.szCabName,
|
if (!ExtractFilesFromCab(m_Strings.szCabName,
|
||||||
m_Strings.szCabDir,
|
m_Strings.szCabDir,
|
||||||
|
|
|
@ -1470,11 +1470,11 @@ private:
|
||||||
{
|
{
|
||||||
if (nSelectedApps > 0)
|
if (nSelectedApps > 0)
|
||||||
{
|
{
|
||||||
CDownloadManager::DownloadListOfApplications(m_AvailableApps.GetSelected());
|
DownloadListOfApplications(m_AvailableApps.GetSelected(), FALSE);
|
||||||
UpdateApplicationsList(-1);
|
UpdateApplicationsList(-1);
|
||||||
m_ListView->SetSelected(-1, FALSE);
|
m_ListView->SetSelected(-1, FALSE);
|
||||||
}
|
}
|
||||||
else if (CDownloadManager::DownloadApplication(m_ListView->GetSelectedData()))
|
else if (DownloadApplication(m_ListView->GetSelectedData(), FALSE))
|
||||||
{
|
{
|
||||||
UpdateApplicationsList(-1);
|
UpdateApplicationsList(-1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,38 +5,16 @@
|
||||||
#include <windef.h>
|
#include <windef.h>
|
||||||
#include <atlsimpcoll.h>
|
#include <atlsimpcoll.h>
|
||||||
|
|
||||||
// Download dialog (loaddlg.cpp)
|
|
||||||
class CDowloadingAppsListView;
|
|
||||||
struct DownloadInfo;
|
|
||||||
|
|
||||||
class CDownloadManager
|
|
||||||
{
|
|
||||||
static ATL::CSimpleArray<DownloadInfo> AppsToInstallList;
|
|
||||||
static CDowloadingAppsListView DownloadsListView;
|
|
||||||
|
|
||||||
static VOID Download(const DownloadInfo& DLInfo, BOOL bIsModal = FALSE);
|
|
||||||
static VOID SetProgressMarquee(HWND Item, BOOL Enable);
|
|
||||||
|
|
||||||
public:
|
|
||||||
static INT_PTR CALLBACK DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
static LRESULT CALLBACK DownloadProgressProc(HWND hWnd,
|
|
||||||
UINT uMsg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam,
|
|
||||||
UINT_PTR uIdSubclass,
|
|
||||||
DWORD_PTR dwRefData);
|
|
||||||
|
|
||||||
static DWORD WINAPI ThreadFunc(LPVOID Context);
|
|
||||||
static BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal = FALSE);
|
|
||||||
static BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal = FALSE);
|
|
||||||
static VOID DownloadApplicationsDB(LPCWSTR lpUrl);
|
|
||||||
static VOID LaunchDownloadDialog(BOOL);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Settings dialog (settingsdlg.cpp)
|
// Settings dialog (settingsdlg.cpp)
|
||||||
VOID CreateSettingsDlg(HWND hwnd);
|
VOID CreateSettingsDlg(HWND hwnd);
|
||||||
|
|
||||||
// About dialog (aboutdlg.cpp)
|
// About dialog (aboutdlg.cpp)
|
||||||
VOID ShowAboutDialog();
|
VOID ShowAboutDialog();
|
||||||
|
|
||||||
|
//Main window
|
||||||
VOID ShowMainWindow(INT nShowCmd);
|
VOID ShowMainWindow(INT nShowCmd);
|
||||||
|
|
||||||
|
// Download dialogs
|
||||||
|
VOID DownloadApplicationsDB(LPCWSTR lpUrl);
|
||||||
|
BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal);
|
||||||
|
BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal);
|
||||||
|
|
|
@ -384,10 +384,43 @@ inline VOID MessageBox_LoadString(HWND hMainWnd, INT StringID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Download dialog (loaddlg.cpp)
|
||||||
|
class CDownloadManager
|
||||||
|
{
|
||||||
|
static ATL::CSimpleArray<DownloadInfo> AppsToInstallList;
|
||||||
|
static CDowloadingAppsListView DownloadsListView;
|
||||||
|
|
||||||
|
static VOID SetProgressMarquee(HWND Item, BOOL Enable);
|
||||||
|
|
||||||
|
public:
|
||||||
|
static VOID Add(DownloadInfo info);
|
||||||
|
static VOID Download(const DownloadInfo& DLInfo, BOOL bIsModal = FALSE);
|
||||||
|
static INT_PTR CALLBACK DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
static LRESULT CALLBACK DownloadProgressProc(HWND hWnd,
|
||||||
|
UINT uMsg,
|
||||||
|
WPARAM wParam,
|
||||||
|
LPARAM lParam,
|
||||||
|
UINT_PTR uIdSubclass,
|
||||||
|
DWORD_PTR dwRefData);
|
||||||
|
|
||||||
|
static DWORD WINAPI ThreadFunc(LPVOID Context);
|
||||||
|
static BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal = FALSE);
|
||||||
|
static BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal = FALSE);
|
||||||
|
static VOID DownloadApplicationsDB(LPCWSTR lpUrl);
|
||||||
|
static VOID LaunchDownloadDialog(BOOL);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// CDownloadManager
|
// CDownloadManager
|
||||||
ATL::CSimpleArray<DownloadInfo> CDownloadManager::AppsToInstallList;
|
ATL::CSimpleArray<DownloadInfo> CDownloadManager::AppsToInstallList;
|
||||||
CDowloadingAppsListView CDownloadManager::DownloadsListView;
|
CDowloadingAppsListView CDownloadManager::DownloadsListView;
|
||||||
|
|
||||||
|
VOID CDownloadManager::Add(DownloadInfo info)
|
||||||
|
{
|
||||||
|
AppsToInstallList.Add(info);
|
||||||
|
}
|
||||||
|
|
||||||
VOID CDownloadManager::Download(const DownloadInfo &DLInfo, BOOL bIsModal)
|
VOID CDownloadManager::Download(const DownloadInfo &DLInfo, BOOL bIsModal)
|
||||||
{
|
{
|
||||||
AppsToInstallList.RemoveAll();
|
AppsToInstallList.RemoveAll();
|
||||||
|
@ -927,40 +960,6 @@ end:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL CDownloadManager::DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal)
|
|
||||||
{
|
|
||||||
if (AppsList.GetSize() == 0)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Initialize shared variables
|
|
||||||
for (INT i = 0; i < AppsList.GetSize(); ++i)
|
|
||||||
{
|
|
||||||
AppsToInstallList.Add(AppsList[i]); // implicit conversion to DownloadInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a dialog and issue a download process
|
|
||||||
LaunchDownloadDialog(bIsModal);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CDownloadManager::DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal)
|
|
||||||
{
|
|
||||||
if (!pAppInfo)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
Download(*pAppInfo, bIsModal);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID CDownloadManager::DownloadApplicationsDB(LPCWSTR lpUrl)
|
|
||||||
{
|
|
||||||
static DownloadInfo DatabaseDLInfo;
|
|
||||||
DatabaseDLInfo.szUrl = lpUrl;
|
|
||||||
DatabaseDLInfo.szName.LoadStringW(IDS_DL_DIALOG_DB_DISP);
|
|
||||||
Download(DatabaseDLInfo, TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: Reuse the dialog
|
//TODO: Reuse the dialog
|
||||||
VOID CDownloadManager::LaunchDownloadDialog(BOOL bIsModal)
|
VOID CDownloadManager::LaunchDownloadDialog(BOOL bIsModal)
|
||||||
{
|
{
|
||||||
|
@ -980,3 +979,39 @@ VOID CDownloadManager::LaunchDownloadDialog(BOOL bIsModal)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// CDownloadManager
|
// CDownloadManager
|
||||||
|
|
||||||
|
|
||||||
|
BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal)
|
||||||
|
{
|
||||||
|
if (AppsList.GetSize() == 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// Initialize shared variables
|
||||||
|
for (INT i = 0; i < AppsList.GetSize(); ++i)
|
||||||
|
{
|
||||||
|
CDownloadManager::Add(AppsList[i]); // implicit conversion to DownloadInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a dialog and issue a download process
|
||||||
|
CDownloadManager::LaunchDownloadDialog(bIsModal);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal)
|
||||||
|
{
|
||||||
|
if (!pAppInfo)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
CDownloadManager::Download(*pAppInfo, bIsModal);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
VOID DownloadApplicationsDB(LPCWSTR lpUrl)
|
||||||
|
{
|
||||||
|
static DownloadInfo DatabaseDLInfo;
|
||||||
|
DatabaseDLInfo.szUrl = lpUrl;
|
||||||
|
DatabaseDLInfo.szName.LoadStringW(IDS_DL_DIALOG_DB_DISP);
|
||||||
|
CDownloadManager::Download(DatabaseDLInfo, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ BOOL UseCmdParameters(LPWSTR lpCmdLine)
|
||||||
ATL::CSimpleArray<CAvailableApplicationInfo> arrAppInfo = apps.FindInfoList(arrNames);
|
ATL::CSimpleArray<CAvailableApplicationInfo> arrAppInfo = apps.FindInfoList(arrNames);
|
||||||
if (arrAppInfo.GetSize() > 0)
|
if (arrAppInfo.GetSize() > 0)
|
||||||
{
|
{
|
||||||
CDownloadManager::DownloadListOfApplications(arrAppInfo, TRUE);
|
DownloadListOfApplications(arrAppInfo, TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue