1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * Copyright 2021, Jaidyn Levesque <jadedctrl@teknik.io>
- * All rights reserved. Distributed under the terms of the MIT license.
- */
- #ifndef CONVERSATIONLIST_H
- #define CONVERSATIONLIST_H
- #include <ListView.h>
- #include "Role.h"
- class BPopUpMenu;
- class Conversation;
- class User;
- enum
- {
- kUserInfo = 'ULui',
- kDeafenUser = 'UMdu',
- kUndeafenUser = 'UMud',
- kMuteUser = 'UMmu',
- kUnmuteUser = 'UMum',
- kKickUser = 'UMku',
- kBanUser = 'UMbu'
- };
- class UserListView : public BListView {
- public:
- UserListView(const char* name);
- virtual void MouseDown(BPoint where);
- void Sort();
- bool HasUser(User* user);
- void AddUser(User* user);
- void RemoveUser(User* user);
- void SetConversation(Conversation* chat) { fChat = chat; }
- private:
- BPopUpMenu* _UserPopUp();
- BPopUpMenu* _BlankPopUp();
- void _ModerationAction(int32 im_what);
- void _ProcessItem(BMessage* itemMsg, BPopUpMenu* menu,
- Role* user, Role* target, BString target_id);
- Conversation* fChat;
- };
- #endif // CONVERSATIONLIST_H
|