Chat-O-Matic/application/views/RosterView.h
Jaidyn Ann 37453ba2af Allow selection of non-contacts in roster windows
Windows using RosterView (like for the invitiation/new chat dialogues)
have a search-box for filtering between contacts. This allows the user
to type a user ID into this search-box that isn't a contact's ID, which
can then be selected as the user.

This makes common operations (inviting a user/adding a new contact)
a little easier.
2021-07-28 16:53:59 -05:00

59 lines
1.3 KiB
C++

/*
* Copyright 2009-2011, Andrea Anzani. All rights reserved.
* Copyright 2009-2011, Pier Luigi Fiorini. All rights reserved.
* Copyright 2021, Jaidyn Levesque. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Andrea Anzani, andrea.anzani@gmail.com
* Pier Luigi Fiorini, pierluigi.fiorini@gmail.com
* Jaidyn Levesque, jadedctrl@teknik.io
*/
#ifndef _ROSTER_VIEW_H
#define _ROSTER_VIEW_H
#include <GroupView.h>
#include "Server.h"
class BStringItem;
class BTextControl;
class RosterItem;
class RosterListView;
class Server;
class RosterView : public BGroupView {
public:
RosterView(const char* title, Server* server, bigtime_t account = -1);
void MessageReceived(BMessage* message);
void ImMessage(BMessage* msg);
void AttachedToWindow();
void SetInvocationMessage(BMessage* msg);
void SetAccount(bigtime_t instance_id);
void SetManualString(const char* text) { fManualStr = text; }
int64 GetAccount() { return fAccount; }
BTextControl* SearchBox() { return fSearchBox; }
void UpdateListItem(RosterItem* item);
RosterListView* ListView();
private:
RosterMap _RosterMap();
Server* fServer;
RosterListView* fListView;
BTextControl* fSearchBox;
bigtime_t fAccount;
BStringItem* fManualItem;
BString fManualStr;
};
#endif // _ROSTER_VIEW_H