OSDN Git Service

マイリスト登録機能追加まだIEとのクッキー競合問題が残っている
authorqwerty2501 <riot313@gmail.com>
Sun, 5 Feb 2012 16:13:22 +0000 (01:13 +0900)
committerqwerty2501 <riot313@gmail.com>
Sun, 5 Feb 2012 16:13:22 +0000 (01:13 +0900)
nlite.suo
nlite/nlite.h
nlite/nlite.rc
nlite/nlite_addTomylistWindow.cpp
nlite/nlite_addTomylistWindow.h
nlite/nlite_commentview.cpp
nlite/nlite_commentview.h
nlite/nlite_common.cpp
nlite/nlite_nlib.cpp
nlite/stdafx.h

index e22331e..ebcdd76 100644 (file)
Binary files a/nlite.suo and b/nlite.suo differ
index ecc9cf8..11447d9 100644 (file)
@@ -30,18 +30,18 @@ namespace nlite{
        namespace nliteregex{
                typedef std::tr1::basic_regex<TCHAR> tregex;
                namespace text{
-                       const static CString URL_TEXT = TEXT("(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)");
-                       const static CString TAG_TEXT = TEXT("<[\"_;!?,\\:.'$%#/a-zA-Z0-9= ]*>");
-                       const static CString VIDEOID_TEXT = TEXT("(sm|nm)([0-9])+");
-                       const static CString LIVEID_TEXT = TEXT("(lv)([0-9])+");
-                       const static CString LINK_TEXT = TEXT("(") + URL_TEXT + TEXT(")|(") + VIDEOID_TEXT + TEXT(")|(") + LIVEID_TEXT + TEXT(")");
+                       extern const  CString URL_TEXT;
+                       extern const  CString TAG_TEXT;
+                       extern const  CString VIDEOID_TEXT;
+                       extern const  CString LIVEID_TEXT;
+                       extern const  CString LINK_TEXT;
                }
-               const static tregex URL(text::URL_TEXT);
-               const static tregex TAGSTRING(text::TAG_TEXT);
-               const static tregex VIDEOID(text::VIDEOID_TEXT);
-               const static tregex LIVEID(text::LIVEID_TEXT);
-               const static tregex LILNKREGEX(text::LINK_TEXT);
-               const static tstring NUTHINGSTRING(TEXT(""));
+               extern const  tregex URL;
+               extern const  tregex TAGSTRING;
+               extern const  tregex VIDEOID;
+               extern const  tregex LIVEID;
+               extern const  tregex LILNKREGEX;
+               extern const  tstring NUTHINGSTRING;
        }
 
        ///
index 016a366..82323cd 100644 (file)
@@ -61,7 +61,7 @@ IDC_NLITE MENU
 // Dialog resources
 //
 LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-IDD_ADDMYLISTDIALOG DIALOG 0, 0, 500, 360
+IDD_ADDMYLISTDIALOG DIALOG 0, 0, 360, 240
 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
 CAPTION "\83}\83C\83\8a\83X\83g\93o\98^"
 FONT 8, "Ms Shell Dlg"
index af55f4d..544bb34 100644 (file)
@@ -4,9 +4,9 @@
 
 namespace nlite{
 
-       static const LPCTSTR ADDMYLIST_URL = TEXT("http://www.nicovideo.jp/mylist_add/video/");
+       static const LPCTSTR ADDMYLIST_URL = TEXT("MSHTML:<HTML><BODY><SCRIPT TYPE=\"text/javascript\">window.open('http://www.nicovideo.jp/mylist_add/video/{1}', 'nicomylistadd', 'width=500,height=360');</SCRIPT></BODY></HTML>");
 
-       CAddToMyListWindow::CAddToMyListWindow(CNicoVideoAuth &in_auth):refAuth(in_auth){}
+       
 
 
        BOOL CAddToMyListWindow::PreTranslateMessage(MSG* pMsg){
@@ -18,110 +18,50 @@ namespace nlite{
        }
 
 
-       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){
-
-
-
-               
-               return;
+       VOID CAddToMyListWindow::ShowAddWindow(LPCTSTR lvNo){
+               liveNo = ADDMYLIST_URL;
+               liveNo.Replace(TEXT("{1}"), lvNo);
 
-       }
-       
-       VOID CAddToMyListWindow::Navigate(LPCTSTR lpszUrl){
                if(m_pWB2){
                        CComVariant v;
 
                        
-                       
-                       //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;
-       }
+       INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
+               LRESULT lRet = DefWindowProc();
 
-       VOID CAddToMyListDialog::OnEndDialog(){
+               HRESULT hRet = QueryControl(&m_pWB2);
+               if(SUCCEEDED(hRet)){
+                       DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
+               }
+               
+               
 
-               addToMyListWindow.DestroyWindow();
+               return lRet;
        }
 
-       BOOL CAddToMyListDialog::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
-               
 
+       VOID CAddToMyListWindow::OnDestroy(){
                
                
                
-               // \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);
-               
-
-
-
-
-
-               addToMyListWindow.Navigate(liveNo);
-               
-               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
+       
+}
index c75f5aa..8316dbb 100644 (file)
@@ -4,18 +4,19 @@
 
 namespace nlite{
 
-       class CAddToMyListDialog;
+       //class CAddToMyListDialog;
 
 
        class CAddToMyListWindow : public CWindowImpl<CAddToMyListWindow, CAxWindow>,
                public IDispEventImpl<IDC_IE, CAddToMyListWindow, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1>
        {
-               friend CAddToMyListDialog;
+               //friend CAddToMyListDialog;
        public:
                DECLARE_WND_SUPERCLASS(NULL, CAxWindow::GetWndClassName())
 
                CComPtr<IWebBrowser2> m_pWB2;
-               CNicoVideoAuth &refAuth;
+//             CComPtr<IHTMLDocument2>  m_pDoc2;
+               CString liveNo;
 
                BOOL PreTranslateMessage(MSG* pMsg);
 
@@ -26,14 +27,19 @@ namespace nlite{
                END_MSG_MAP()
 
                BEGIN_SINK_MAP(CAddToMyListWindow)
-                       SINK_ENTRY_EX(IDC_IE, 
-                       DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2, OnBeforeNavigate2)
+                       //SINK_ENTRY_EX(IDC_IE, 
+                       //DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2, OnBeforeNavigate2)
                END_SINK_MAP()
 
 
        public:
-               CAddToMyListWindow(CNicoVideoAuth &in_auth);
 
+       
+
+               ///
+               ///\83}\83C\83\8a\83X\83g\93o\98^\89æ\96Ê\95\\8e¦
+               ///
+               VOID ShowAddWindow(LPCTSTR lvNo);
        private:
 
                ///
@@ -47,45 +53,11 @@ namespace nlite{
                VOID OnDestroy();
 
 
+               
 
-               VOID WINAPI OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel);
-               VOID Navigate(LPCTSTR lpszUrl);
-
+               
 
        };
 
 
-       class CAddToMyListDialog:public CDialogImpl<CAddToMyListDialog>
-       {
-
-               CAddToMyListWindow addToMyListWindow;
-
-               CNLiteString liveNo;
-               CNicoVideoAuth &refAuth;
-
-       public:
-               enum {IDD = IDD_ADDMYLISTDIALOG};
-
-               BEGIN_MSG_MAP(CAddToMyListDialog)
-                       MSG_WM_INITDIALOG(OnInitDialog)
-                       COMMAND_ID_HANDLER_EX(IDOK, OnOK)
-                       COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
-               END_MSG_MAP()
-
-
-               CAddToMyListDialog(CNicoVideoAuth &in_auth);
-
-               VOID SetLiveNo(LPCTSTR lvNo);
-
-
-       private:
-
-               VOID OnEndDialog();
-       private:
-               BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
-               VOID OnOK(UINT uNotifyCode, int nID, CWindow wndCtl);
-
-               VOID OnCancel(UINT uNotifyCode,INT nID,CWindow wndCtl);
-
-       };
 }
\ No newline at end of file
index 9542bfe..7a307ad 100644 (file)
@@ -1276,6 +1276,8 @@ end:
 
        LRESULT CCommentListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
                
+               addToMyListWindow.Create(m_hWnd, 0,_T("Shell.Explorer.2"),WS_CHILD | WS_VISIBLE, 0, IDC_IE);
+
                return 0;
        }
 
@@ -1354,6 +1356,12 @@ end:
        }
 
 
+       VOID CCommentListWindow::OnDestroy(){
+
+               this->addToMyListWindow.DestroyWindow();
+
+       }
+
        VOID CCommentListWindow::OnLButtonDown(UINT wParam, _WTYPES_NS::CPoint &point){
 
 
@@ -1529,10 +1537,9 @@ end:
 
                                        } else if(regex_match((LPCTSTR)selTextBuf,nliteregex::VIDEOID) == TRUE){
 
-                                               CAddToMyListDialog addToMyListDialog(self.refAuth);
-                                               addToMyListDialog.SetLiveNo(selTextBuf);
-                                               addToMyListDialog.DoModal();
+
                                                
+                                               addToMyListWindow.ShowAddWindow(selTextBuf);
                                                
                                                ::SetFocus(lParam->hwndFrom);
                                
index eaa3954..981b5c0 100644 (file)
@@ -155,7 +155,7 @@ namespace nlite{
                CPen selectSellLinePen;                                                                                                 //\98g\90ü\95`\89æ\97p\83y\83\93
                CBrush selectBkBrush;                                                                                                           //\94w\8ci\95`\89æ\97p\83u\83\89\83V
                CFont linkFont;
-
+               CAddToMyListWindow addToMyListWindow;                                                           //\83}\83C\83\8a\83X\83g\93o\98^\97p\83E\83B\83\93\83h\83E
 
                //\83\8a\83\93\83N\95\8e\9a\97ñ\97p\82Ì\83t\83H\83\93\83g
                enum {
@@ -178,6 +178,7 @@ namespace nlite{
                        MSG_WM_CREATE(OnCreate)
                        MSG_WM_ERASEBKGND(OnEraseBkGnd)
                        MSG_WM_MOUSEWHEEL(OnMouseWheel)
+//                     MSG_WM_DESTROY(OnDestroy)
                        MSG_WM_PAINT(OnPaint)
                        MSG_WM_SIZE(OnSize)
                        MSG_WM_KEYDOWN(OnKeyDown)
@@ -239,6 +240,8 @@ namespace nlite{
                VOID ResetViewSellHeight();
                
 
+               
+
                ///
                ///\83N\83\8a\83b\83N\82µ\82½\8ds\82ð\8cv\8eZ
                ///
@@ -263,6 +266,11 @@ namespace nlite{
                VOID OnLButtonDown(UINT wParam, _WTYPES_NS::CPoint &point);
 
                ///
+               ///\94j\8aü\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnDestroy();
+
+               ///
                ///\95`\89æ\8f\88\97\9d
                ///
                VOID OnPaint(HDC hdc);
index 4af570e..1ce9e4a 100644 (file)
@@ -5,6 +5,21 @@
 
 namespace nlite{
 
+namespace nliteregex{
+       namespace text{
+               const  CString URL_TEXT = TEXT("(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)");
+               const  CString TAG_TEXT = TEXT("<[\"_;!?,\\:.'$%&#/a-zA-Z0-9= ]*>");
+               const  CString VIDEOID_TEXT = TEXT("(sm|nm)([0-9])+");
+               const  CString LIVEID_TEXT = TEXT("(lv)([0-9])+");
+               const  CString LINK_TEXT = TEXT("(") + URL_TEXT + TEXT(")|(") + VIDEOID_TEXT + TEXT(")|(") + LIVEID_TEXT + TEXT(")");
+       }
+       const  tregex URL(text::URL_TEXT);
+       const  tregex TAGSTRING(text::TAG_TEXT);
+       const  tregex VIDEOID(text::VIDEOID_TEXT);
+       const  tregex LIVEID(text::LIVEID_TEXT);
+       const  tregex LILNKREGEX(text::LINK_TEXT);
+       const  tstring NUTHINGSTRING(TEXT(""));
+}
 Property nliteProperty;        
 
 
index b1d4f44..f1f4b65 100644 (file)
@@ -36,11 +36,13 @@ VOID CNicoVideoAuth::SetBrowserType(BROWSERTYPE bt){
        _tcscpy(&userSession[0],this->GetUserSession());
        LPTSTR name = &userSession[0];
        LPTSTR val =_tcsstr(&userSession[0],TEXT("="));
-       *(val) = TEXT('\0');
-       val++;
-       //dumpln(TEXT("left:%s,right:%s"),userSession.Left(sertchEquol),userSession.Right(sertchEquol));
-       InternetSetCookie(domein,name,val);
-       
+
+       if(val != NULL){
+               *(val) = TEXT('\0');
+               val++;
+               //dumpln(TEXT("left:%s,right:%s"),userSession.Left(sertchEquol),userSession.Right(sertchEquol));
+               ::InternetSetCookieEx(domein,name,val,INTERNET_COOKIE_IS_SESSION,NULL);
+       }
 }
 
 
index 9ca4bf1..4954d9e 100644 (file)
@@ -11,7 +11,7 @@
 #define WIN32_LEAN_AND_MEAN                                    // Windows \83w\83b\83_\81[\82©\82ç\8eg\97p\82³\82ê\82Ä\82¢\82È\82¢\95\94\95ª\82ð\8f\9c\8aO\82µ\82Ü\82·\81B
 #define _CRT_SECURE_NO_WARNINGS 1                      //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
 #define  _CRT_NON_CONFORMING_SWPRINTFS 1       //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
-//#define USE_STUB                                                     //\83X\83^\83u\82ð\8eg\97p\82·\82é\8fê\8d\87\82Í\83R\83\81\83\93\83g\83A\83E\83g\82ð\89ð\8f\9c\82·\82é
+#define USE_STUB                                                       //\83X\83^\83u\82ð\8eg\97p\82·\82é\8fê\8d\87\82Í\83R\83\81\83\93\83g\83A\83E\83g\82ð\89ð\8f\9c\82·\82é
 #define WINDEBUGER_NOPRINTING                          //\83f\83o\83b\83O\8fo\97Í\82ð\83R\83\93\83\\81[\83\8b\82É\95\\8e¦\82µ\82½\82­\82È\82¢\8fê\8d\87\92è\8b`\82·\82é
 #define _WTL_NO_CSTRING