114 lines
2.5 KiB
C++
114 lines
2.5 KiB
C++
//////////////////////////////////////////////////
|
|
// Blabber [BlabberMainWindow.h]
|
|
// Central information display.
|
|
//////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
#include <Button.h>
|
|
#include <CardLayout.h>
|
|
#include <CheckBox.h>
|
|
#include <MenuField.h>
|
|
#include <MenuItem.h>
|
|
#include <PopUpMenu.h>
|
|
#include <TabView.h>
|
|
#include <TextControl.h>
|
|
#include <Window.h>
|
|
|
|
#include <gloox/instantmucroom.h>
|
|
|
|
#include "ui/PictureView.h"
|
|
|
|
#include "jabber/RosterView.h"
|
|
#include "jabber/StatusView.h"
|
|
|
|
|
|
class TalkView;
|
|
|
|
enum {
|
|
kResetWindow = 'Wrst',
|
|
kAddTalkView = 'Watv'
|
|
};
|
|
|
|
class BlabberMainWindow : public BWindow {
|
|
public:
|
|
static BlabberMainWindow *Instance();
|
|
~BlabberMainWindow();
|
|
|
|
virtual void MessageReceived(BMessage *msg);
|
|
virtual void MenusBeginning();
|
|
virtual bool QuitRequested();
|
|
|
|
bool ValidateLogin();
|
|
void ShowLogin();
|
|
void SetCustomStatus(std::string status);
|
|
|
|
void FlagBookmarkItem(const gloox::JID& room, uint32 flags);
|
|
|
|
protected:
|
|
BlabberMainWindow(BRect frame);
|
|
|
|
private:
|
|
void AddTalkView(TalkView* view);
|
|
|
|
private:
|
|
// singleton
|
|
static BlabberMainWindow *_instance;
|
|
|
|
// GUI
|
|
BView *_login_full_view;
|
|
|
|
PictureView *_login_bulb;
|
|
BTextControl *_login_realname;
|
|
BTextControl *_login_username;
|
|
BTextControl *_login_password;
|
|
|
|
BButton *_login_new_account;
|
|
BCheckBox *_login_auto_login;
|
|
|
|
BButton *_login_login;
|
|
|
|
BMenuItem *_disconnect_item;
|
|
BMenuItem *_about_item;
|
|
BMenuItem *_quit_item;
|
|
BMenuItem *_add_buddy_item;
|
|
BMenuItem *_change_buddy_item;
|
|
BMenuItem *_remove_buddy_item;
|
|
BMenuItem *_user_info_item;
|
|
BMenuItem *_chat_item;
|
|
BMenuItem *_away_item;
|
|
BMenuItem *_dnd_item;
|
|
BMenuItem *_xa_item;
|
|
BMenuItem *_school_item;
|
|
BMenuItem *_work_item;
|
|
BMenuItem *_lunch_item;
|
|
BMenuItem *_dinner_item;
|
|
BMenuItem *_sleep_item;
|
|
BMenuItem *_custom_item;
|
|
|
|
BMenuItem *_send_message_item;
|
|
BMenuItem *_send_chat_item;
|
|
BMenuItem *_send_groupchat_item;
|
|
|
|
BMenuItem *_preferences_item;
|
|
BMenuItem *_beos_user_item;
|
|
BMenuItem *_riv_item;
|
|
BMenuItem *_jabber_org_item;
|
|
BMenuItem *_jabber_central_org_item;
|
|
BMenuItem *_jabber_view_com_item;
|
|
BMenuItem *_user_guide_item;
|
|
BMenuItem *_faq_item;
|
|
|
|
BView *_full_view;
|
|
|
|
PictureView *_title;
|
|
StatusView *_status_view;
|
|
|
|
BPopUpMenu *_online_status_selection;
|
|
BMenuField *_online_status;
|
|
|
|
RosterView *_roster;
|
|
|
|
BCardLayout* fTalkCards;
|
|
};
|