Beispiel #1
0
/// Viewウィンドウにキーを取られるので自分でTranslateMessageとDispatchMessageを呼ぶ
BOOL CDLListWindow::PreTranslateMessage(MSG* pMsg)
{
	UINT msg = pMsg->message;
	if (m_editDLFolder.m_hWnd == pMsg->hwnd) {
		if (msg == WM_SYSKEYDOWN || msg == WM_SYSKEYUP || msg == WM_KEYDOWN) {
			::TranslateMessage(pMsg);
			::DispatchMessage(pMsg);
			return TRUE;
		}
	} else if (m_DLList.m_hWnd == pMsg->hwnd) {
		if (msg == WM_KEYDOWN && pMsg->wParam == VK_DELETE) {	// リストビューでdeleteキー押してアイテム削除する
			int nIndex = -1;
			vector<int> vecIndex;
			int nCount = m_DLList.GetItemCount();
			for (int i = 0; i < nCount; ++i) {
				nIndex = m_DLList.GetNextItem(nIndex, LVNI_SELECTED);
				if (nIndex == -1)
					break;

				vecIndex.push_back(nIndex);
			}
			for (auto rit = vecIndex.rbegin(); rit != vecIndex.rend(); ++rit) {
				m_DLList.DeleteItem(*rit);
			}
			_SetTitle();
		}
	}
	return FALSE;
}
Beispiel #2
0
/// DLするURLリストを設定
void CDLListWindow::SetDLList(const std::vector<CString>& vecURL)
{
	int nCount = (int)vecURL.size();
	for (int i = 0; i < nCount; ++i) {
		m_DLList.AddItem(i, 0, vecURL[i]);
	}
	_SetTitle();
}
Beispiel #3
0
/*!	\brief Updates the value of the decorator title
	\param string New title value
*/
void
Decorator::SetTitle(const char* string, BRegion* updateRegion)
{
	fTitle.SetTo(string);
	_SetTitle(string, updateRegion);

	_InvalidateFootprint();
		// the border very likely changed

	// TODO: redraw?
}
Beispiel #4
0
void	CDLListWindow::_DLStart()
{
	DWORD	dwOption = 0;
	int nOption = m_cmbDLOption.GetCurSel();
	switch (nOption) {
	case 0: dwOption = DLO_OVERWRITEPROMPT; break;
	case 2: dwOption = DLO_USEUNIQUENUMBER; break;
	}

	int nMaxDL	= m_cmbParallelDL.GetCurSel() + 1;
	for (int i = m_nDownloading; i < nMaxDL; ++i) {
		CString strURL;
		m_DLList.GetItemText(0, 0, strURL);

		CDownloadManager::GetInstance()->DownloadStart(strURL, m_strDLFolder, m_hWnd, dwOption);
		
		++m_nDownloading;
		m_DLList.DeleteItem(0);
	}
	_SetTitle();
}