chatlistitem.h 843 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef CHATLISTITEM_H
  2. #define CHATLISTITEM_H
  3. #include <QPainter>
  4. #include <QPixmap>
  5. #include <QWidget>
  6. namespace Ui {
  7. class ChatListItem;
  8. }
  9. enum IconAlign {
  10. IaLeft,
  11. IaRight
  12. };
  13. class ChatListItem : public QWidget {
  14. Q_OBJECT
  15. public:
  16. explicit ChatListItem(QWidget* parent = nullptr);
  17. ~ChatListItem();
  18. QPixmap icon() const;
  19. void setIcon(const QPixmap& icon);
  20. QString info() const;
  21. void setInfo(const QString& info);
  22. IconAlign iconAlign() const;
  23. void setIconAlign(const IconAlign& iconAlign);
  24. QColor textBackColor() const;
  25. void setTextBackColor(const QColor& textBackColor);
  26. protected:
  27. void paintEvent(QPaintEvent* event);
  28. private:
  29. Ui::ChatListItem* ui;
  30. QPixmap m_icon;
  31. QString m_info;
  32. IconAlign m_iconAlign;
  33. QColor m_textBackColor;
  34. };
  35. #endif // CHATLISTITEM_H