x
static void _NEW();
void doNew()
{
doClose();
int ret = DialogBox(g_hInst, (LPCTSTR) IDD_NEW_PATH, g_hMain, (DLGPROC) NewPathBox);
if (ret == IDOK) {
ret = DialogBox(g_hInst, (LPCTSTR) IDD_NEW, g_hMain, (DLGPROC) NewBox);
if (ret == IDOK) {
_NEW(); doOpen();
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
#include "NEWPATH.INC"
LRESULT CALLBACK NewPathBox(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
_NEWPATH_INIT(hDlg);
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK) { _NEWPATH_OK(hDlg); return TRUE; }
if (LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; }
if (LOWORD(wParam) == IDC_SET_DIRECTORY) { _NEWPATH_GET_DIRECTORY(hDlg); return TRUE; }
break;
}
return FALSE;
}
/////////////////////////////////////////////////////////////////////////////////////
static char INSERT_URL [MAX_URL];
#include "NEW.INC"
LRESULT CALLBACK NewBox(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG: _NEW_INIT(hDlg); return TRUE;
case WM_VKEYTOITEM:
if (LOWORD(wParam) == VK_DELETE) { _NEW_DEL(hDlg); return -2; }
else return -1;
case WM_COMMAND:
if (LOWORD(wParam) == IDC_DEL) { _NEW_DEL(hDlg); return TRUE; }
if (LOWORD(wParam) == IDC_DELALL) { _NEW_DELALL(hDlg); return TRUE; }
if (LOWORD(wParam) == IDC_INSERT) { _NEW_INSERT(hDlg); return TRUE; }
if (LOWORD(wParam) == IDC_IMPORT) { _NEW_IMPORT(hDlg); return TRUE; }
if (LOWORD(wParam) == IDOK) { _NEW_OK(hDlg); return TRUE; }
if (LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; }
break;
}
return FALSE;
}
/////////////////////////////////////////////////////////////////////////////////////
#include "ADDR.INC"
LRESULT CALLBACK BoxAddr(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG: _ADDR_INIT(hDlg); return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK) { _ADDR_OK (hDlg); return TRUE; }
if (LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; }
break;
}
return FALSE;
}
/////////////////////////////////////////////////////////////////////////////////////
static void _NEW()
{
char folder [MAX_PATH];
char dst [MAX_PATH];
char sys [MAX_PATH];
char tmp [MAX_PATH];
char pic [MAX_PATH];
PathCombine(folder, g_directory, g_filename);
PathCombine(sys, folder, "sys");
PathCombine(tmp, folder, "tmp");
PathCombine(pic, folder, "pic");
CreateDirectory(folder, 0);
CreateDirectory(sys, 0);
CreateDirectory(tmp, 0);
CreateDirectory(pic, 0);
PathCombine(dst, folder, g_filename);
lstrcat(dst, ".pdh");
save_prop_general(dst);
PathCombine(dst, folder, g_filename);
lstrcat(dst, ".pdh.included");
_close(_creat(dst, _S_IREAD | _S_IWRITE));
PathCombine(dst, folder, g_filename);
lstrcat(dst, ".pdh.excluded");
_close(_creat(dst, _S_IREAD | _S_IWRITE));
PathCombine(dst, folder, g_filename);
lstrcat(dst, ".pdh.performance");
g_nThread = DEFAULT_THREAD;
g_nDownloadInterval = DEFAULT_DOWNLOAD_INTERVAL;
save_prop_performance(dst);
PathCombine(dst, sys, "his");
This* his = new This(dst);
char queue_name [20] = {0};
sprintf(queue_name, "q_a_queued_%.3d", 0);
PathCombine(dst, sys, queue_name);
Tqueue* queue = new Tqueue(dst);
list<string>::iterator pos = g_lst_url.begin();
while (pos != g_lst_url.end()) {
his->push_back((*pos).c_str());
queue->push_back((*pos).c_str());
pos++;
}
delete his;
delete queue;
}