namespace nlite{
- static const LPCTSTR ADDMYLIST_URL = TEXT("http://www.nicovideo.jp/mylist_add/video/");
-
- CAddToMyListWindow::CAddToMyListWindow(CNicoVideoAuth &in_auth):refAuth(in_auth){}
+ static const LPCTSTR ADDMYLIST_URL = TEXT("MSHTML:<HTML><BODY><SCRIPT TYPE=\"text/javascript\">document.cookie=\"{0}\";window.open('http://www.nicovideo.jp/mylist_add/video/{1}', 'nicomylistadd', 'width=500,height=360');</SCRIPT></BODY></HTML>");
BOOL CAddToMyListWindow::PreTranslateMessage(MSG* pMsg){
}
- INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
- LRESULT lRet = DefWindowProc();
-
- HRESULT hRet = QueryControl(&m_pWB2);
- if(SUCCEEDED(hRet)){
- DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
- }
-
-
-
- return lRet;
- }
-
-
- VOID CAddToMyListWindow::OnDestroy(){
- if(m_pWB2){
- DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2);
- }
-
- SetMsgHandled(false);
- }
-
- VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){
-
- dumpln(TEXT("event:Set"));
- return;
+ VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){
+ liveNo = ADDMYLIST_URL;
+ liveNo.Replace(TEXT("{0}"),refAuth.GetUserSession());
+ liveNo.Replace(TEXT("{1}"), lvNo);
- }
-
- VOID CAddToMyListWindow::Navigate(LPCTSTR lpszUrl){
if(m_pWB2){
CComVariant v;
- CNLiteString userSession(refAuth.GetUserSession());
- CComVariant header(userSession);
-
+
- //header.SetByRef((BSTR)userSession);
- m_pWB2->Navigate(CNLiteString(lpszUrl), &v, &v, &v, &v);
+ HRESULT rslt = this->CreateControlEx(liveNo);
+
}
}
-
- CAddToMyListDialog::CAddToMyListDialog(CNicoVideoAuth &in_auth):refAuth(in_auth),addToMyListWindow(in_auth){
- }
- VOID CAddToMyListDialog::SetLiveNo(LPCTSTR lvNo){
- liveNo = ADDMYLIST_URL;
- liveNo += lvNo;
- }
-
- VOID CAddToMyListDialog::OnEndDialog(){
-
- addToMyListWindow.DestroyWindow();
- }
+ INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
+ LRESULT lRet = DefWindowProc();
- BOOL CAddToMyListDialog::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
-
+ HRESULT hRet = QueryControl(&m_pWB2);
+ if(SUCCEEDED(hRet)){
+ DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
+ }
- // \83X\83N\83\8a\81[\83\93\82Ì\92\86\89\9b\82É\94z\92u
- CenterWindow();
-
- /*
- // \91å\82«\82¢\83A\83C\83R\83\93\90Ý\92è
- HICON hIcon = AtlLoadIconImage(IDD_ADDMYLISTDIALOG, LR_DEFAULTCOLOR,
- ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
- SetIcon(hIcon, TRUE);
-
- // \8f¬\82³\82¢\83A\83C\83R\83\93\90Ý\92è
- HICON hIconSmall = AtlLoadIconImage(IDD_ADDMYLISTDIALOG, LR_DEFAULTCOLOR,
- ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
- SetIcon(hIconSmall, FALSE);
- */
- RECT selfRc;
- this->GetClientRect(&selfRc);
-
- addToMyListWindow.Create(m_hWnd, selfRc,_T("Shell.Explorer.2"),WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE, IDC_IE);
-
-
-
+ return lRet;
+ }
- addToMyListWindow.Navigate(liveNo);
+ VOID CAddToMyListWindow::OnDestroy(){
- return TRUE;
- }
-
- VOID CAddToMyListDialog::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
- OnEndDialog();
- EndDialog(nID);
- }
+
+
+ if(m_pWB2){
+ if(DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2) == S_OK){
+ m_pWB2 = NULL;
+ }
+ }
- VOID CAddToMyListDialog::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
- OnEndDialog();
- EndDialog(nID);
+ SetMsgHandled(false);
}
-
-}
\ No newline at end of file
+
+}