ishowmain.h 2.88 KB
#ifndef ISHOWMAIN_H
#define ISHOWMAIN_H

#include <QWidget>
#include <QStackedWidget>
#include <QPushButton>
#include "msgchatarea.h"
#include "ui_msgchatarea.h"
#include "ishowcourses.h"
#include "ishoworderrank.h"
#include "gotye/GotyeAPI.h"
USING_NS_GOTYEAPI;
class UserInfoTip;

namespace Ui {
class IShowMain;
class IncomingCallWidget;
class HomeCenterWidget;
}
class ISettingWidget;

enum StackItem
{
    ISTACK_HOME=0,
    ISTACK_INCOMING,
    ISTACK_MESSAGE,
    ISTACK_COURSE,
    ISTACK_TALKING

};
class IShowMain : public QWidget
{
    Q_OBJECT
public:
    explicit IShowMain(QWidget *parent = 0);
    //bool InitAPIVar(void);

    bool eventFilter(QObject *obj, QEvent *e);

signals:
    void acceptCalling();//接受来电
    void repulseCalling();//拒绝来电
    void hideMain();//最小化
    void showMainMax();//最大化

public slots:
    void on_pushButtonOnline_clicked();
    void changeCurrentButton(QPushButton* button);//选中按钮
    void showIncomingCall(const QString uid, const QString img, int course_id);
    void showHome();
    void showCourses();//课程
    void showStackItem();
    void showChatArea();  //聊天界面
    void buttonChecked();//选中按钮
    void showSetting();//显示设置页面
    void showWindowFront(WId);//显示设置页面
    void doResponse(int, int, QString, QString result);
    void delItemChat(QListWidgetItem *item);

    void initUserInfo();//初始化用户基本信息,用户头像等
    void showUserTip();//显示用户详细信息卡片
    void hideUserTip();//隐藏用户详细信息卡片
    void on_pushButtonDecline_clicked();
    void on_pushButton_clicked();
    void overCallEnd(QString callId);  //通话结束
    void getOrderEarningRank();
    void setHeadImg(); //设置头像
    void review_create(int callTimeSec); //创建评语

    //聊天交互
    void showNowChat();
    void delgoty();
    //login loading
    void loginLoading();
    void setPushButtonEnabled(bool flag);

private slots:

    void on_pushButton_picture_clicked();

private:
    Ui::IShowMain *ui; //主界面UI
    Ui::IncomingCallWidget *uiIncoming;//来电界面UI
    Ui::HomeCenterWidget *uiHome;//首页上线界面UI
    Ui::msgChatArea *uiChatArea;
    Ui::IshowCourses *uiCourses;
    QWidget *centerChatArea;
    IshowCourses *ishowCourses;
    QStackedWidget *stack;//首页界面管理器
    QPushButton *currentButton;//当前选中的按钮
    ISettingWidget* setting;//设置界面
    QPushButton *onlineButton;//个人头像旁边的在线切换
    QLabel *newMsg;
    UserInfoTip *userInfoTip;
    QTimer *hideTipTimer;//隐藏卡片定时器
    //头像
    GotyeChatTarget nowUser;
    int StackItemNum;
    QString headerImg;

    //loading
    QTimer *loadTimer;
    QString m_callId;
    QString m_callUid;
    int m_callTimeSec;
    QTimer *loginStatusTimer;

    //收益
    IshowOrderRank theOrderRank;

};

#endif // ISHOWMAIN_H