#ifndef ISHOWMAIN_H #define ISHOWMAIN_H #include #include #include #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