38 bool fFlaggedExisting;
59 enum SheetType { CS_Server, CS_Channel, CS_Query };
66 int32_t iBackBufferIndex;
75 ChatSheet(
C4ChatControl *pChatControl,
const char *szTitle,
const char *szIdent, SheetType eType);
76 ~ChatSheet()
override;
78 C4GUI::Edit *GetInputEdit()
const {
return pInputEdit; }
79 SheetType GetSheetType()
const {
return eType; }
80 const char *GetIdent()
const {
return sIdent.
getData(); }
81 void SetIdent(
const char *szToIdent) { sIdent.
Copy(szToIdent); }
82 const char *GetChatTitle()
const {
return sChatTitle.
getData(); }
83 void SetChatTitle(
const char *szNewTitle) { sChatTitle.
Copy(szNewTitle); }
85 void AddTextLine(
const char *szText, uint32_t dwClr);
86 void DoError(
const char *szError);
93 void OnShown(
bool fByUser)
override;
94 void UserClose()
override;
97 bool KeyHistoryUpDown(
bool fUp);
101 NickItem *GetNickItem(
const char *szByNick);
102 NickItem *GetFirstNickItem() {
return pNickList ?
static_cast<NickItem *
>(pNickList->
GetFirst()) :
nullptr; }
103 NickItem *GetNextNickItem(NickItem *
pPrev) {
return static_cast<NickItem *
>(
pPrev->
GetNext()); }
109 C4GUI::Label *pLblLoginNick, *pLblLoginPass, *pLblLoginRealName, *pLblLoginChannel;
110 C4GUI::Edit *pEdtLoginNick, *pEdtLoginPass, *pEdtLoginRealName, *pEdtLoginChannel;
117 bool fInitialMessagesReceived;
139 bool ProcessInput(
const char *szInput, ChatSheet *pChatSheet);
142 ChatSheet *
OpenQuery(
const char *szForNick,
bool fSelect,
const char *szIdentFallback);
145 static bool IsServiceName(
const char *szName);
146 ChatSheet *GetActiveChatSheet();
147 ChatSheet *GetSheetByTitle(
const char *szTitle, C4ChatControl::ChatSheet::SheetType eType);
148 ChatSheet *GetSheetByIdent(
const char *szIdent, C4ChatControl::ChatSheet::SheetType eType);
149 ChatSheet *GetServerSheet();
150 void ClearChatSheets();
bool IsFlaggedExisting() const
void Update(class C4Network2IRCUser *pByUser)
int32_t GetStatus() const
NickItem(class C4Network2IRCUser *pByUser)
void SetFlaggedExisting(bool fToVal)
void UpdateOwnPos() override
const char * GetNick() const
static int32_t SortFunc(const C4GUI::Element *pEl1, const C4GUI::Element *pEl2, void *)
C4GUI::Edit::InputResult OnLoginDataEnter(C4GUI::Edit *edt, bool fPasting, bool fPastingMore)
void SetTitleChangeCB(C4GUI::BaseInputCallback *pNewCB)
virtual class C4GUI::Control * GetDefaultControl()
C4ChatControl(C4Network2IRCClient *pIRC)
void OnConnectBtn(C4GUI::Control *btn)
C4Network2IRCClient * getIRCClient()
bool ProcessInput(const char *szInput, ChatSheet *pChatSheet)
~C4ChatControl() override
void UpdateSize() override
ChatSheet * OpenQuery(const char *szForNick, bool fSelect, const char *szIdentFallback)
static bool IsChatEnabled()
bool IsExclusiveDialog() override
static C4ChatDlg * ShowChat()
void UpdateSize() override
void OnClosed(bool fOK) override
bool IsFreePlaceDialog() override
class C4GUI::Control * GetDefaultControl() override
void OnChatTitleChange(const StdStrBuf &sNewTitle)
bool DoPlacement(C4GUI::Screen *pOnScreen, const C4Rect &rPreferredDlgRect) override
static bool IsChatActive()
void OnExitBtn(C4GUI::Control *btn)
Element * GetNext() const
const char * getData() const