mirror of
https://gitee.com/Zhaoxin59/my-chat_-client.git
synced 2026-02-14 00:51:48 +08:00
Add a taxonomy
This commit is contained in:
@ -14,12 +14,23 @@
|
||||
#include <QStyleOption>
|
||||
#include <QPainter>
|
||||
#include <QEnterEvent>
|
||||
#include "model/data.h"
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
/// 滚动区域的Item的类型
|
||||
////////////////////////////////////////
|
||||
enum ItemType{
|
||||
SessionItemType,
|
||||
FriendItemType,
|
||||
ApplyItemType
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
/// 整个滚动区域的实现
|
||||
////////////////////////////////////////
|
||||
|
||||
class SessionFriendArea : public QScrollArea
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -30,9 +41,10 @@ public:
|
||||
void clear();
|
||||
|
||||
//添加一个Item
|
||||
void addItem(const QIcon& avatar, const QString& name, const QString& text);
|
||||
void addItem(ItemType itemType, const QString& id, const QIcon& avatar, const QString& name, const QString& text);
|
||||
|
||||
//
|
||||
//选中某一个指定的item,通过index下标来访问item
|
||||
void clickItem(int index);
|
||||
|
||||
private:
|
||||
//后续向container中的layout添加元素,就会有QScrollArea的滚动
|
||||
@ -69,5 +81,43 @@ private:
|
||||
bool selected = false;
|
||||
};
|
||||
|
||||
////////////////////////////////////////
|
||||
/// 会话Item的实现
|
||||
////////////////////////////////////////
|
||||
class SessionItem : public SessionFriendItem {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SessionItem(QWidget* owner, const QString& chatSessionId, const QIcon& avatar, const QString& name, const QString& lastmessage);
|
||||
private:
|
||||
//当前会话Id
|
||||
QString chatSessionId;
|
||||
|
||||
};
|
||||
|
||||
////////////////////////////////////////
|
||||
/// 好友Item的实现
|
||||
////////////////////////////////////////
|
||||
class FriendItem : public SessionFriendItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
FriendItem(QWidget* owner, const QString& userId, const QIcon& avatar, const QString& name, const QString& description);
|
||||
private:
|
||||
// 好友的用户Id
|
||||
QString userId;
|
||||
};
|
||||
|
||||
////////////////////////////////////////
|
||||
/// 好友申请Item的实现
|
||||
////////////////////////////////////////
|
||||
class ApplyItem : public SessionFriendItem {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ApplyItem(QWidget* owner, const QString& userId, const QIcon& avatar, const QString& name);
|
||||
private:
|
||||
//好友申请Id
|
||||
QString userId;
|
||||
};
|
||||
|
||||
#endif // SESSIONFRIENDAREA_H
|
||||
|
||||
Reference in New Issue
Block a user