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;
}
///
// 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"
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){
}
- 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
+
+}
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);
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:
///
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
LRESULT CCommentListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
+ addToMyListWindow.Create(m_hWnd, 0,_T("Shell.Explorer.2"),WS_CHILD | WS_VISIBLE, 0, IDC_IE);
+
return 0;
}
}
+ VOID CCommentListWindow::OnDestroy(){
+
+ this->addToMyListWindow.DestroyWindow();
+
+ }
+
VOID CCommentListWindow::OnLButtonDown(UINT wParam, _WTYPES_NS::CPoint &point){
} else if(regex_match((LPCTSTR)selTextBuf,nliteregex::VIDEOID) == TRUE){
- CAddToMyListDialog addToMyListDialog(self.refAuth);
- addToMyListDialog.SetLiveNo(selTextBuf);
- addToMyListDialog.DoModal();
+
+ addToMyListWindow.ShowAddWindow(selTextBuf);
::SetFocus(lParam->hwndFrom);
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 {
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)
VOID ResetViewSellHeight();
+
+
///
///\83N\83\8a\83b\83N\82µ\82½\8ds\82ð\8cv\8eZ
///
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);
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;
_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);
+ }
}
#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