Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
220
Server/AdminTool/AdminToolClient/GMLogMsgDlg.cpp
Normal file
220
Server/AdminTool/AdminToolClient/GMLogMsgDlg.cpp
Normal file
@@ -0,0 +1,220 @@
|
||||
// GMLogMsgDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "AdminToolClient.h"
|
||||
#include "GMLogMsgDlg.h"
|
||||
#include "WindowMgr.h"
|
||||
#include "GlobalFunctions.h"
|
||||
#include "PacketManager.h"
|
||||
#include "CharacterDoc.h"
|
||||
#include "ListCtrlSortClass.h"
|
||||
#include "DetailInfoDlg.h"
|
||||
|
||||
|
||||
// CGMLogMsgDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
IMPLEMENT_DYNAMIC(CGMLogMsgDlg, CDialog)
|
||||
CGMLogMsgDlg::CGMLogMsgDlg(DLG_TYPE eDlgType, DlgOwnerInfo& stInfo, CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CGMLogMsgDlg::IDD, pParent)
|
||||
, m_bSortListAsc(false)
|
||||
{
|
||||
INSERT_WINDOW(IDD_GMLOGMSGDLG, static_cast<CWnd*>(this));
|
||||
|
||||
m_stDlgOwnerInfo.m_dwUID = stInfo.m_dwUID;
|
||||
m_stDlgOwnerInfo.m_dwCID = stInfo.m_dwCID;
|
||||
m_stDlgOwnerInfo.m_dwServerGroup = stInfo.m_dwServerGroup;
|
||||
|
||||
m_eDlgType = eDlgType;
|
||||
}
|
||||
|
||||
CGMLogMsgDlg::~CGMLogMsgDlg()
|
||||
{
|
||||
ERASE_WINDOW(IDD_GMLOGMSGDLG);
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_GMLOGMSG_LIST, m_ctrlGMLogMsgList);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CGMLogMsgDlg, CDialog)
|
||||
ON_BN_CLICKED(IDC_GMLOG_ADD, OnBnClickedGmlogAdd)
|
||||
ON_BN_CLICKED(IDC_GMLOG_DEL, OnBnClickedGmlogDel)
|
||||
ON_NOTIFY(LVN_COLUMNCLICK, IDC_GMLOGMSG_LIST, OnLvnColumnclickGmlogmsgList)
|
||||
ON_BN_CLICKED(IDC_GMLOG_CLIPPING_BTN, OnBnClickedGmlogClippingBtn)
|
||||
ON_NOTIFY(NM_DBLCLK, IDC_GMLOGMSG_LIST, OnNMDblclkGmlogmsgList)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CGMLogMsgDlg <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
BOOL CGMLogMsgDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
m_ctrlGMLogMsgList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
||||
m_ctrlGMLogMsgList.InsertColumn(0, GetLocalString("ADDED_STRING_051"), LVCFMT_LEFT, 50);
|
||||
m_ctrlGMLogMsgList.InsertColumn(1, GetLocalString("EDIT_TIME"), LVCFMT_LEFT, 140);
|
||||
m_ctrlGMLogMsgList.InsertColumn(2, GetLocalString("ADDED_STRING_050"), LVCFMT_LEFT, 150);
|
||||
m_ctrlGMLogMsgList.InsertColumn(3, GetLocalString("ADMIN_ID"), LVCFMT_LEFT, 100);
|
||||
|
||||
CString strTitle;
|
||||
strTitle = GetLocalString("ADDED_STRING_046");
|
||||
|
||||
if (UID_LOG_TYPE == m_eDlgType)
|
||||
{
|
||||
strTitle.AppendFormat(" (UID: %u)", m_stDlgOwnerInfo.m_dwUID);
|
||||
|
||||
SetDlgItemInt(IDC_GMLOG_UID_EDIT, (int)m_stDlgOwnerInfo.m_dwUID, false);
|
||||
SetDlgItemText(IDC_GMLOG_SERVER_EDIT, "none");
|
||||
SetDlgItemInt(IDC_GMLOG_CID_EDIT, 0, false);
|
||||
|
||||
CPacketMgr::GetInstance()->SendPktGMLogMsg(PktAdminMgr::PktGMLogMsg::LOG_SELECT,
|
||||
m_stDlgOwnerInfo.m_dwServerGroup, m_stDlgOwnerInfo.m_dwUID);
|
||||
}
|
||||
else if (CID_LOG_TYPE == m_eDlgType)
|
||||
{
|
||||
strTitle.AppendFormat(" (CID: %u)", m_stDlgOwnerInfo.m_dwCID);
|
||||
|
||||
CString strServerName;
|
||||
CCharacterDoc::GetInstance().GetServerName(m_stDlgOwnerInfo.m_dwServerGroup, strServerName);
|
||||
|
||||
SetDlgItemInt(IDC_GMLOG_UID_EDIT, (int)m_stDlgOwnerInfo.m_dwUID, false);
|
||||
SetDlgItemText(IDC_GMLOG_SERVER_EDIT, strServerName);
|
||||
SetDlgItemInt(IDC_GMLOG_CID_EDIT, (int)m_stDlgOwnerInfo.m_dwCID, false);
|
||||
|
||||
CPacketMgr::GetInstance()->SendPktGMLogMsg(PktAdminMgr::PktGMLogMsg::LOG_SELECT,
|
||||
m_stDlgOwnerInfo.m_dwServerGroup, m_stDlgOwnerInfo.m_dwUID, m_stDlgOwnerInfo.m_dwCID);
|
||||
}
|
||||
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_LIST_GROUP, "ADDED_STRING_048");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_ADD_GROUP, "ADDED_STRING_049");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_GROUP_STATIC, "IDC_CHARRESTORE_03");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_ADD_GROUP, "ADDED_STRING_049");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_ADD, "IDC_DROPCONTROL_ADDITEM_BTN");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_CLIPPING_BTN, "IDC_BILLLOG_TO_CLIP_BTN");
|
||||
SetUIString(this->m_hWnd, IDC_GMLOG_DEL, "ADDED_STRING_052");
|
||||
|
||||
SetWindowText(strTitle);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool CGMLogMsgDlg::InsertGMLogMsgList(PktAdminMgr::PktGMLogMsg* lpData)
|
||||
{
|
||||
if (NULL == lpData)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
CString strForFormat;
|
||||
int nInsertIndex = m_ctrlGMLogMsgList.GetItemCount();
|
||||
|
||||
strForFormat.Format(_T("%u"), lpData->m_dwLogID);
|
||||
m_ctrlGMLogMsgList.InsertItem(nInsertIndex, strForFormat);
|
||||
|
||||
strForFormat.Format(_T("%s"), lpData->m_szEditDate);
|
||||
m_ctrlGMLogMsgList.SetItemText(nInsertIndex, 1, strForFormat);
|
||||
|
||||
strForFormat.Format(_T("%s"), lpData->m_szLogMsg);
|
||||
m_ctrlGMLogMsgList.SetItemText(nInsertIndex, 2, strForFormat);
|
||||
|
||||
strForFormat.Format(_T("%s"), lpData->m_szAdminID);
|
||||
m_ctrlGMLogMsgList.SetItemText(nInsertIndex, 3, strForFormat);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::OnBnClickedGmlogAdd()
|
||||
{
|
||||
CString strMsg;
|
||||
GetDlgItemText(IDC_GMLOG_ADDLOG_EDIT, strMsg);
|
||||
|
||||
if (false == strMsg.IsEmpty() && strMsg.GetLength() < PktAdminMgr::MAX_LOG)
|
||||
{
|
||||
|
||||
char szMsg[PktAdminMgr::MAX_LOG];
|
||||
_snprintf(szMsg, PktAdminMgr::MAX_LOG, "%s", strMsg);
|
||||
|
||||
CPacketMgr::GetInstance()->SendPktGMLogMsg(PktAdminMgr::PktGMLogMsg::LOG_INSERT,
|
||||
m_stDlgOwnerInfo.m_dwServerGroup, m_stDlgOwnerInfo.m_dwUID, m_stDlgOwnerInfo.m_dwCID, 0, szMsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
Report(GetLocalString("ADDED_STRING_047"), CAUTION);
|
||||
}
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::OnBnClickedGmlogDel()
|
||||
{
|
||||
if (1 == m_ctrlGMLogMsgList.GetSelectedCount())
|
||||
{
|
||||
int nIndex = m_ctrlGMLogMsgList.GetNextItem(-1, LVIS_SELECTED);
|
||||
unsigned long dwLogID = atol(m_ctrlGMLogMsgList.GetItemText(nIndex, 0));
|
||||
|
||||
CPacketMgr::GetInstance()->SendPktGMLogMsg(PktAdminMgr::PktGMLogMsg::LOG_DELETE,
|
||||
m_stDlgOwnerInfo.m_dwServerGroup, m_stDlgOwnerInfo.m_dwUID, m_stDlgOwnerInfo.m_dwCID, dwLogID);
|
||||
}
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::OnLvnColumnclickGmlogmsgList(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
|
||||
|
||||
if(pNMLV->iSubItem == m_iSortListItem)
|
||||
{
|
||||
m_bSortListAsc = !m_bSortListAsc;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_iSortListItem = pNMLV->iSubItem;
|
||||
m_bSortListAsc = true;
|
||||
}
|
||||
|
||||
SortListWndItem(&m_ctrlGMLogMsgList, m_iSortListItem);
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::SortListWndItem(CListCtrl* lpListCtrl, const int iCol)
|
||||
{
|
||||
CListCtrlSortClass SortClass(lpListCtrl, iCol);
|
||||
|
||||
switch(m_iSortListItem)
|
||||
{
|
||||
case SORT_TYPE::LOGID:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::EDITDATE:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::LOGMSG:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::ADMINID:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::OnBnClickedGmlogClippingBtn()
|
||||
{
|
||||
ClippingListCtrl(m_ctrlGMLogMsgList, 4, true);
|
||||
}
|
||||
|
||||
void CGMLogMsgDlg::OnNMDblclkGmlogmsgList(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
if (1 == m_ctrlGMLogMsgList.GetSelectedCount())
|
||||
{
|
||||
int nIndex = m_ctrlGMLogMsgList.GetNextItem(-1, LVIS_SELECTED);
|
||||
CString strMsg = m_ctrlGMLogMsgList.GetItemText(nIndex, 2);
|
||||
|
||||
CDetailInfoDlg dlg(strMsg);
|
||||
dlg.DoModal();
|
||||
}
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
Reference in New Issue
Block a user