#define IDD_DIALOG_GENERAL_PAGE 216
#define IDD_ADDMYLISTDIALOG 219
#define IDD_LISTENER_SETTING_DIALOG 220
-#define IDC_BUTTON1 1000
#define IDC_EDIT1 1000
-#define IDC_BUTTON2 1001
#define IDC_BUTTON_COOKIE_OK 1001
-#define IDC_EDIT2 1002
+#define IDC_LT_BACKCOLOR_STATIC 1001
+#define IDC_USERID_STATIC 1002
#define IDC_APPLY 1003
+#define IDC_NICKNAME_EDIT 1003
+#define IDC_LT_NICKNAME_STATIC 1004
#define IDC_RADIO_IE 1005
+#define IDC_BACKCOLOR_RETURN_BUTTON 1006
+#define IDC_NAMECOLOR_RETURN_BUTTON 1007
#define IDM_COOKIE 30000
#define IDM_VIEW_PREFERENCE 30001
#define IDR_COMMAND1 40000
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-IDD_LISTENER_SETTING_DIALOG DIALOG 0, 0, 119, 113
-STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
+IDD_LISTENER_SETTING_DIALOG DIALOG 0, 0, 175, 151
+STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
EXSTYLE WS_EX_WINDOWEDGE
+CAPTION "\83\8a\83X\83i\81[\90Ý\92è"
FONT 8, "Ms Shell Dlg"
{
- LTEXT "\83j\83b\83N\83l\81[\83\80", IDC_STATIC, 13, 31, 34, 8, SS_LEFT
- LTEXT "\94w\8ci\90F", IDC_STATIC, 14, 69, 23, 8, SS_LEFT
- LTEXT "\83j\83b\83N\83l\81[\83\80\82Ì\90F", IDC_STATIC, 13, 49, 47, 8, SS_LEFT
- PUSHBUTTON "", IDC_BUTTON1, 69, 47, 35, 14
- PUSHBUTTON "", IDC_BUTTON2, 70, 70, 34, 14
- EDITTEXT IDC_EDIT2, 69, 27, 35, 14, ES_AUTOHSCROLL
- PUSHBUTTON "OK", IDOK, 25, 88, 32, 14
- PUSHBUTTON "\83L\83\83\83\93\83Z\83\8b", IDCANCEL, 67, 89, 33, 14
- LTEXT "\83\86\81[\83UID", IDC_STATIC, 13, 10, 26, 8, SS_LEFT
- LTEXT "", IDC_STATIC, 69, 10, 34, 8, SS_LEFT
+ LTEXT "\83j\83b\83N\83l\81[\83\80", IDC_STATIC, 17, 49, 34, 8, SS_LEFT
+ LTEXT "\94w\8ci\90F", IDC_STATIC, 19, 99, 31, 9, SS_LEFT
+ LTEXT "\83j\83b\83N\83l\81[\83\80\82Ì\90F", IDC_STATIC, 15, 72, 47, 8, SS_LEFT
+ EDITTEXT IDC_NICKNAME_EDIT, 92, 44, 56, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "OK", IDOK, 48, 131, 32, 14
+ PUSHBUTTON "\83L\83\83\83\93\83Z\83\8b", IDCANCEL, 104, 132, 33, 14
+ LTEXT "\83\86\81[\83UID", IDC_STATIC, 19, 20, 26, 8, SS_LEFT
+ CTEXT "", IDC_USERID_STATIC, 60, 17, 110, 14, SS_CENTER
+ LTEXT "", IDC_LT_NICKNAME_STATIC, 92, 71, 55, 12, WS_BORDER | SS_LEFT | SS_NOTIFY
+ LTEXT "", IDC_LT_BACKCOLOR_STATIC, 91, 98, 55, 14, WS_BORDER | SS_LEFT | SS_NOTIFY
+ PUSHBUTTON "\96ß\82·", IDC_NAMECOLOR_RETURN_BUTTON, 153, 73, 18, 14
+ PUSHBUTTON "\96ß\82·", IDC_BACKCOLOR_RETURN_BUTTON, 153, 97, 18, 14
}
bgcolor(INIT_COLOR),
writePropertyFlag(FALSE),
time(0),
-onlyCommunityFlag(FALSE)
+onlyCommunityFlag(FALSE),
+nameColor(INIT_COLOR)
{}
+VOID ListenerData::SetNameColor(COLORREF nameColor_in){
+ nameColor = nameColor_in;
+ writePropertyFlag = TRUE;
+ return;
+}
+
VOID ListenerData::SetBkColor(COLORREF bkColor_in){
bgcolor = bkColor_in;
writePropertyFlag = TRUE;
if(begin->community.Length()> 0) NLITE_ATTRIBUTE_WRITE_STR(pWriter,(*begin).community);
NLITE_ATTRIBUTE_WRITE_INT(pWriter,(*begin).time);
if(begin->bgcolor != ListenerData::INIT_COLOR)NLITE_ATTRIBUTE_WRITE_INT(pWriter,(*begin).bgcolor);
+ if(begin->nameColor != ListenerData::INIT_COLOR)NLITE_ATTRIBUTE_WRITE_INT(pWriter,(*begin).nameColor);
pWriter->WriteString(begin->user_id);
pWriter->WriteEndElement();
}
NLITE_READ_USER_STRING(papszAttrs,listenerBuff,name);
NLITE_READ_USER_STRING(papszAttrs,listenerBuff,community);
NLITE_READ_USER_INT(papszAttrs,listenerBuff,bgcolor);
+ NLITE_READ_USER_INT(papszAttrs,listenerBuff,nameColor);
NLITE_READ_USER_INT(papszAttrs,listenerBuff,time);
}
CNLiteString name; //\83\86\81[\83U\81[\96¼
CNLiteString community; //\93o\98^\82µ\82½\83R\83~\83\85\83j\83e\83B
COLORREF bgcolor; //\94w\8ci\90F
+ COLORREF nameColor; //\96¼\91O\90F
time_t time; //\93o\98^\8e\9e\8aÔ
BOOL writePropertyFlag; //\83v\83\8d\83p\83e\83B\8f\91\82«\8d\9e\82Ý\83t\83\89\83O
BOOL onlyCommunityFlag;
///\94w\8ci\90F\90Ý\92è
///
VOID SetBkColor(COLORREF bkColor_in);
+
+ ///
+ ///\96¼\91O\90H\90Ý\92è
+ ///
+ VOID SetNameColor(COLORREF nameColor_in);
///
///\83\86\81[\83U\96¼\90Ý\92è
BOOL CCommentWriteWindow::SendChat(){
- _beginthread(EnterChatBox,0,this);
+ _beginthread(EnterChatBox,0,&this->commentSubEdit);
CCommentMaker commentMaker;
std::vector<TCHAR> chat(commentSubEdit.GetWindowTextLengthW() + 1);
CComBSTR &viewUserName = chatData.listenerData->name.Length() == 0 ? chatData.listenerData->user_id : chatData.listenerData->name;
dc.SelectFont(linkFont);
- dc.SetTextColor(self.viewproperty.linkStringColor);
+ dc.SetTextColor(chatData.listenerData->nameColor != ListenerData::INIT_COLOR ? chatData.listenerData->nameColor : self.viewproperty.linkStringColor);
//\83e\83L\83X\83g\95`\89æ
dc.DrawTextW(noString,_tcslen(noString),&noViewRect,DT_WORD_ELLIPSIS);
+
+
dc.DrawTextW(viewUserName,viewUserName.Length(),&userNameViewRect,DT_WORD_ELLIPSIS);
dc.SelectFont(::AtlGetDefaultGuiFont());
dc.SetTextColor(chatData.viewData.stringColor == CChatData::ViewData::INIT_COLOR ? chatData.viewData.stringColor :self.viewproperty.baseStringColor);
this->MoveWindow(wndRect.left,wndRect.top,wndRect.right,wndRect.bottom);
-
+ listenerSettingWindow.Create(*this);
return 0;
LRESULT CNliteMainFrame::OnClickUserName(UINT uMsg,WPARAM wParam,LPARAM lParam){
+ auto &chatData = *(CChatData*)wParam;
+ listenerSettingWindow.ShowSettingWindow(*chatData.listenerData);
+
return 0;
}
CNicoLiveStream nicoLiveStream; //\83j\83R\83j\83R\90¶\95ú\91\97\83I\83u\83W\83F\83N\83g
CMultiPaneStatusBarCtrl m_hStatusBar; //\83}\83\8b\83`\83y\83C\83\93\83X\83e\81[\83^\83X\83o\81[
CProgressBarCtrl m_progresBar; //\83v\83\8d\83O\83\8c\83X\83o\81[
-
+ CListenerSettingWindow listenerSettingWindow; //\83\8a\83X\83i\81[\90Ý\92è\83E\83B\83\93\83h\83E
private:
// \83\81\83b\83Z\81[\83W\83t\83B\83\8b\83^\8f\88\97\9d
}
VOID CCookieSettingWindow::SetBrowserType(BROWSERTYPE browserType){
-
+
this->browserType = browserType;
return this->browserType;
}
+VOID CColorSettingButton::OnLButtonDown(UINT wParam,CPoint &point){
+
+ CColorDialog dlg(color);
+
+ if(dlg.DoModal() == IDOK){
+ this->SetColor(dlg.GetColor());
+ }
+
+
+ return;
+}
+
+VOID CColorSettingButton::SetColor(COLORREF in_color){
+
+ color = in_color;
+ if(brush.IsNull() != TRUE){
+ brush.DeleteObject();
+ }
+ if(color != ListenerData::INIT_COLOR){
+
+ brush.CreateSolidBrush(color);
+ this->SetWindowText(TEXT(""));
+ } else {
+ brush.CreateSolidBrush(RGB(255,255,255));
+ this->SetWindowText(TEXT("\90F\90Ý\92è\82È\82µ"));
+ }
+
+ return;
+}
+
+VOID CListenerSettingWindow::ShowSettingWindow(ListenerData &listenerData){
+
+ this->ShowWindow(SW_HIDE);
+ this->listenerData = &listenerData;
+
+
+ backColorButton.SetColor(this->listenerData->bgcolor);
+ nameColorButton.SetColor(this->listenerData->nameColor);
+
+ idField.SetWindowText(listenerData.user_id);
+ nameEdit.SetWindowText(listenerData.name);
+
+ this->ShowWindow(SW_SHOW);
+ return;
+}
+
+
+BOOL CListenerSettingWindow::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
+ CenterWindow();
+ nameEdit = GetDlgItem(IDC_NICKNAME_EDIT);
+
+ nameColorButton.SubclassWindow(GetDlgItem(IDC_LT_NICKNAME_STATIC));
+ backColorButton.SubclassWindow(GetDlgItem(IDC_LT_BACKCOLOR_STATIC));
+ backColorReturnButton = GetDlgItem(IDC_BACKCOLOR_RETURN_BUTTON);
+ nameColorReturnButton = GetDlgItem(IDC_NAMECOLOR_RETURN_BUTTON);
+ idField = GetDlgItem(IDC_USERID_STATIC);
+ return TRUE;
+}
+
+LRESULT CListenerSettingWindow::OnCtlColorStatic(HDC hdc,HWND hWnd){
+ if(hWnd == nameColorButton){
+ return (LRESULT)(HBRUSH)nameColorButton.brush;
+ } else if(hWnd == backColorButton){
+
+
+ return (LRESULT)(HBRUSH)backColorButton.brush;
+
+ }
+
+ return 0;
+}
+
+
+
+
+
+VOID CListenerSettingWindow::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
+
+ std::vector<TCHAR> nameBuf(nameEdit.GetWindowTextLength() + 1);
+ nameEdit.GetWindowText(&nameBuf[0],nameBuf.size());
+ this->listenerData->SetUserName(&nameBuf[0]);
+ this->listenerData->SetBkColor( backColorButton.color);
+ this->listenerData->SetNameColor( nameColorButton.color);
+
+ ::ShowWindow(::GetAncestor(*this,GA_ROOTOWNER),SW_HIDE);
+ ::ShowWindow(::GetAncestor(*this,GA_ROOTOWNER),SW_SHOW);
+
+ this->ShowWindow(SW_HIDE);
+ return;
+}
+
+VOID CListenerSettingWindow::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
+
+ this->ShowWindow(SW_HIDE);
+ return;
+}
+
+
+VOID CListenerSettingWindow::OnButton(UINT hiWParam,INT_PTR loWParam,HWND lParam){
+
+ if(this->backColorReturnButton == lParam){
+
+ backColorButton.SetColor(ListenerData::INIT_COLOR);
+
+ } else if(this->nameColorReturnButton == lParam){
+
+ nameColorButton.SetColor(ListenerData::INIT_COLOR);
+ }
+
+ return;
+}
namespace nlite{
+
+ class CListenerSettingWindow;
///
///\83N\83b\83L\81[\90Ý\92è\97p\83E\83B\83\93\83h\83E
///
};
+ ///
+ ///\90F\90Ý\92è\83{\83^\83\93
+ ///
+ class CColorSettingButton:public CWindowImpl<CColorSettingButton,CStatic>{
+ friend CListenerSettingWindow;
+
+ CBrush brush;
+ COLORREF color;
+
+ BEGIN_MSG_MAP(CColorSettingButton)
+ MSG_WM_LBUTTONDOWN(OnLButtonDown)
+ END_MSG_MAP()
+
+
+ ///
+ ///\8d¶\83N\83\8a\83b\83N\8e\9e\82Ì\8f\88\97\9d
+ ///
+ VOID OnLButtonDown(UINT wParam,CPoint &point);
+
+ ///
+ ///\90F\82ð\90Ý\92è
+ ///
+ VOID SetColor(COLORREF in_color);
+
+ };
+
+ ///
+ ///\83\8a\83X\83i\81[\90Ý\92è\97p\83E\83B\83\93\83h\83E
+ ///
+ class CListenerSettingWindow:public CDialogImpl<CListenerSettingWindow>{
+
+ CEdit nameEdit;
+ CColorSettingButton nameColorButton;
+ CButton nameColorReturnButton;
+ CColorSettingButton backColorButton;
+ CButton backColorReturnButton;
+ CStatic idField;
+ ListenerData *listenerData;
+ public:
+ enum { IDD = IDD_LISTENER_SETTING_DIALOG };
+
+ BEGIN_MSG_MAP(CListenerSettingWindow)
+ MSG_WM_INITDIALOG(OnInitDialog)
+ MSG_WM_CTLCOLORSTATIC(OnCtlColorStatic)
+ COMMAND_ID_HANDLER_EX(IDOK, OnOK)
+ COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
+ COMMAND_CODE_HANDLER_EX(BN_CLICKED,OnButton)
+ END_MSG_MAP()
+
+ VOID ShowSettingWindow(ListenerData &listenerData);
+
+ private:
+ ///
+ ///\83_\83C\83A\83\8d\83O\8f\89\8aú\89»\8e\9e\82É\8cÄ\82Î\82ê\82é
+ ///
+ BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
+
+ ///
+ ///\83X\83^\83e\83B\83b\83N\83E\83B\83\93\83h\83E\82Ì\90F\8f\88\97\9d
+ ///
+ LRESULT OnCtlColorStatic(HDC hdc,HWND hWnd);
+
+ ///
+ ///OK\83{\83^\83\93\89\9f\89º\8e\9e\82Ì\93®\8dì
+ ///
+ VOID OnOK(UINT uNotifyCode, int nID, CWindow wndCtl);
+
+
+ ///
+ ///\83L\83\83\83\93\83Z\83\8b\83{\83^\83\93\89\9f\89º\8e\9e\82Ì\93®\8dì
+ ///
+ VOID OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl);
+
+
+ ///
+ ///\83{\83^\83\93\83N\83\8a\83b\83N\8e\9e\82Ì\93®\8dì
+ ///
+ VOID OnButton(UINT hiWParam,INT_PTR loWParam,HWND lParam);
+
+ };
+
}
\ No newline at end of file