From 01cdd84bd7e3c317ad9b19159ff9d130745de0b0 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Tue, 21 Feb 2012 23:27:32 +0900 Subject: [PATCH] =?utf8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88=E8=AA=AD?= =?utf8?q?=E3=81=BF=E4=B8=8A=E3=81=92=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88?= =?utf8?q?=E6=A9=9F=E8=83=BD=20=E3=82=A6=E3=82=A3=E3=83=B3=E3=83=89?= =?utf8?q?=E3=82=A6=E6=9C=80=E5=89=8D=E9=9D=A2=E8=A1=A8=E7=A4=BA=E6=A9=9F?= =?utf8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- nlite.sln | 3 ++ nlite.suo | Bin 193536 -> 186880 bytes nlite/Resource.h | 13 ++++--- nlite/nlite.rc | 73 ++++++++++++++++++------------------- nlite/nlite.vcxproj | 1 + nlite/nlite.vcxproj.filters | 3 ++ nlite/nlite_chatData.cpp | 4 ++ nlite/nlite_common.cpp | 2 +- nlite/nlite_include.h | 1 + nlite/nlite_mainframe.cpp | 41 ++++++++++++++++++++- nlite/nlite_mainframe.h | 26 ++++++++++++- nlite/nlite_property.cpp | 2 +- nlite/nlite_viewerPropertyWindow.h | 2 + 13 files changed, 123 insertions(+), 48 deletions(-) create mode 100644 nlite/nlite_viewerPropertyWindow.h diff --git a/nlite.sln b/nlite.sln index 966813e..8bfa9b4 100644 --- a/nlite.sln +++ b/nlite.sln @@ -42,6 +42,9 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "open_jtalk_lib", "open_jtalk_lib\open_jtalk_lib.vcxproj", "{125DDEDE-934B-4B5D-B2F3-6635B1E99EC1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speaker", "speaker\speaker.vcxproj", "{FBE9021E-5717-4EEE-A3AC-E4516C8A29AD}" + ProjectSection(ProjectDependencies) = postProject + {125DDEDE-934B-4B5D-B2F3-6635B1E99EC1} = {125DDEDE-934B-4B5D-B2F3-6635B1E99EC1} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/nlite.suo b/nlite.suo index 97694626bd882d1d77fa0724d036a8b05b1a7bea..3f6412f878580a1f3ab945b8a58a41def2b27214 100644 GIT binary patch delta 6832 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 bx-6i3koEc{h6X>1`Ad?}51~d%K7h< delta 8046 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 + diff --git a/nlite/nlite.vcxproj.filters b/nlite/nlite.vcxproj.filters index e0c83f6..885ff9e 100644 --- a/nlite/nlite.vcxproj.filters +++ b/nlite/nlite.vcxproj.filters @@ -77,6 +77,9 @@ ヘッダー ファイル + + ヘッダー ファイル + diff --git a/nlite/nlite_chatData.cpp b/nlite/nlite_chatData.cpp index e5569cd..4b14fbe 100644 --- a/nlite/nlite_chatData.cpp +++ b/nlite/nlite_chatData.cpp @@ -186,6 +186,10 @@ CCommentList::iterator CCommentList::OnChatReceve(NicoLiveChat_P chatData_in,LPC if(empty() == TRUE || back().date <= chatData.date){ chatList.push_back(chatData); rslt = (--chatList.end()); + if(nlite::nliteProperty.crp.commentReadFlag == TRUE){ + + g_speaker.SynthesisAsync((const speaker::TChar_P)(LPCTSTR)rslt->chatBuf); + } }else { rslt = chatList.insert(std::find_if(chatList.begin(),chatList.end(),SeartchSetPos_t(chatData.date)),chatData); diff --git a/nlite/nlite_common.cpp b/nlite/nlite_common.cpp index c1cb6c6..e27c3f8 100644 --- a/nlite/nlite_common.cpp +++ b/nlite/nlite_common.cpp @@ -12,7 +12,7 @@ namespace nlite{ 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 CString SEARTCH_AT_MARK(TEXT("(.*)(@|—)(^ |^@[^@^—]+)")); + const CString SEARTCH_AT_MARK(TEXT("(.*)(@|—)([^ |^@][^@^—]+)")); const tstring NUTHINGSTRING(TEXT("")); } const tregex URL(text::URL_TEXT); diff --git a/nlite/nlite_include.h b/nlite/nlite_include.h index 4601db7..7eed2e3 100644 --- a/nlite/nlite_include.h +++ b/nlite/nlite_include.h @@ -18,6 +18,7 @@ #include "nlite_nlib.h" #include "nlite_chatData.h" #include "nlite_property.h" +#include "nlite_viewerPropertyWindow.h" #include "nlite_commentview.h" #include "nlite_appinfo.h" #include "nlite_propertyWindow.h" diff --git a/nlite/nlite_mainframe.cpp b/nlite/nlite_mainframe.cpp index 443c7e5..b1d08d9 100644 --- a/nlite/nlite_mainframe.cpp +++ b/nlite/nlite_mainframe.cpp @@ -174,6 +174,10 @@ LRESULT CNliteMainFrame::OnCreate(LPCREATESTRUCT lpcs){ listenerSettingWindow.Create(*this); + this->SetMenuItemCheck(IDM_FRONT_WINDOW_CHECK,nliteProperty.mfp.windowFrontFlag); + this->SetMenuItemCheck(IDM_SPEAK_COMMENT_CHECK,nliteProperty.crp.commentReadFlag); + + this->SetWindowPos(nliteProperty.mfp.windowFrontFlag == TRUE ? HWND_TOPMOST : HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE); return 0; } @@ -244,6 +248,25 @@ VOID CNliteMainFrame::OnException(){ } + +BOOL CNliteMainFrame::IsMenuItemChecked(UINT item){ + MENUITEMINFO menuInfo; + menuInfo.fMask = MIIM_STATE; + menuInfo.cbSize = sizeof(menuInfo); + ::GetMenuItemInfo(this->GetMenu(),item,FALSE,&menuInfo); + return menuInfo.fState == MFS_CHECKED; +} + + +VOID CNliteMainFrame::SetMenuItemCheck(UINT item,BOOL state){ + MENUITEMINFO menuInfo; + menuInfo.cbSize = sizeof(menuInfo); + menuInfo.fMask = MIIM_STATE; + menuInfo.fState = state == TRUE ? MFS_CHECKED :MFS_UNCHECKED; + ::SetMenuItemInfo(this->GetMenu(),item,FALSE,&menuInfo); + +} + //ƒƒjƒ…[‚©‚çƒtƒ@ƒCƒ‹‚ðI—¹‚ð‘I‘ð VOID CNliteMainFrame::OnMenuExit(UINT uNotifyCode, int nID, HWND hWndCtl){ PostMessage(WM_CLOSE); @@ -291,8 +314,24 @@ VOID CNliteMainFrame::OnCookie(UINT uNotifyCode,int nID,HWND hWndCtl){ } +VOID CNliteMainFrame::OnSpeakCommentCheck(UINT uNotifyCode,int nID,HWND hWndCtl){ + + + nliteProperty.crp.commentReadFlag = !IsMenuItemChecked(IDM_SPEAK_COMMENT_CHECK); + SetMenuItemCheck(IDM_SPEAK_COMMENT_CHECK,nliteProperty.crp.commentReadFlag ); + + return; +} + +VOID CNliteMainFrame::OnFrontWindowCheck(UINT uNotifyCode,int nID,HWND hWndCtl){ + nliteProperty.mfp.windowFrontFlag = !IsMenuItemChecked(IDM_FRONT_WINDOW_CHECK); + SetMenuItemCheck(IDM_FRONT_WINDOW_CHECK,nliteProperty.mfp.windowFrontFlag ); + this->SetWindowPos(nliteProperty.mfp.windowFrontFlag == TRUE ? HWND_TOPMOST : HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE); + return; +} + VOID CNliteMainFrame::ConnectingThread(LPVOID userData){ auto &self = *(CNliteMainFrame*)userData; @@ -688,7 +727,7 @@ VOID CNliteMainFrame::CLiveUserData::OnChatReceveStart(CNicoLiveStream &stream,N VOID CNliteMainFrame::CLiveUserData::OnChatReceve(NicoLiveChat_P chat,UINT_PTR count){ self.commentView.OnChatReceve(chat,count); - g_speaker.SynthesisAsync((const speaker::TChar_P)chat->chatBuf); + } VOID CNliteMainFrame::CLiveUserData::OnChatReceveSettle(UINT_PTR commentCount,UINT_PTR commentCountSum){ diff --git a/nlite/nlite_mainframe.h b/nlite/nlite_mainframe.h index c2888b3..06c321c 100644 --- a/nlite/nlite_mainframe.h +++ b/nlite/nlite_mainframe.h @@ -231,8 +231,10 @@ namespace nlite{ MESSAGE_HANDLER_EX(UM_CLICK_USERNAME,OnClickUserName) COMMAND_ID_HANDLER_EX(IDM_EXIT, OnMenuExit) COMMAND_ID_HANDLER_EX(IDM_ABOUT,OnMenuAbount) + COMMAND_ID_HANDLER_EX(IDM_SPEAK_COMMENT_CHECK,OnSpeakCommentCheck) + COMMAND_ID_HANDLER_EX(IDM_FRONT_WINDOW_CHECK,OnFrontWindowCheck) COMMAND_ID_HANDLER_EX(IDM_COOKIE,OnCookie) - COMMAND_ID_HANDLER_EX(IDM_VIEW_PREFERENCE,OnViewPreference) +// COMMAND_ID_HANDLER_EX(IDM_VIEW_PREFERENCE,OnViewPreference) COMMAND_CODE_HANDLER_EX(CBN_SELCHANGE,OnCbSelChange) NOTIFY_HANDLER(ATL_IDW_TOOLBAR,RBN_HEIGHTCHANGE,OnRbnHeightChange) // CFrameWindowImplƒNƒ‰ƒX‚Öƒ`ƒF[ƒ“ @@ -256,6 +258,18 @@ namespace nlite{ /// VOID OnException(); + + private: + /// + ///ƒƒjƒ…[ƒAƒCƒeƒ€‚ªƒ`ƒFƒbƒN‚³‚ê‚Ä‚¢‚é‚©‚Ì”»’è + /// + BOOL IsMenuItemChecked(UINT item); + + /// + ///ƒƒjƒ…[ƒAƒCƒeƒ€‚̃`ƒFƒbƒNó‘Ô‚ð•ÏX + /// + VOID SetMenuItemCheck(UINT item,BOOL state); + private: /// @@ -339,6 +353,16 @@ namespace nlite{ //ƒNƒbƒL[‚̐ݒè VOID OnCookie(UINT uNotifyCode,int nID,HWND hWndCtl); + /// + ///ƒRƒƒ“ƒg“ǂݏグƒ`ƒFƒbƒNƒNƒŠƒbƒNŽž‚Ì“®ì + /// + VOID OnSpeakCommentCheck(UINT uNotifyCode,int nID,HWND hWndCtl); + + /// + ///Å‘O–Ê•\Ž¦ƒ`ƒFƒbƒNƒNƒŠƒbƒNŽž‚Ì“®ì + /// + VOID OnFrontWindowCheck(UINT uNotifyCode,int nID,HWND hWndCtl); + //ƒrƒ…[ƒAÝ’è VOID OnViewPreference(UINT uNotifyCode,int nID,HWND hWndCtl); diff --git a/nlite/nlite_property.cpp b/nlite/nlite_property.cpp index 9516968..092e06f 100644 --- a/nlite/nlite_property.cpp +++ b/nlite/nlite_property.cpp @@ -95,7 +95,7 @@ namespace nlite{ numberNameFlag(FALSE), autoColorRegisterFlag(FALSE), activeCountTimeFlag(TRUE), - browserType(BT_NOSETTING), + browserType(BT_INTERNET_EXPLORER), ncvUserSettingReadedFlag(FALSE) {} diff --git a/nlite/nlite_viewerPropertyWindow.h b/nlite/nlite_viewerPropertyWindow.h new file mode 100644 index 0000000..3f59c93 --- /dev/null +++ b/nlite/nlite_viewerPropertyWindow.h @@ -0,0 +1,2 @@ +#pragma once + -- 2.11.0