IRCChannelMemberListModel.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "IRCChannelMemberListModel.h"
  2. #include "IRCChannel.h"
  3. #include <stdio.h>
  4. #include <time.h>
  5. IRCChannelMemberListModel::IRCChannelMemberListModel(IRCChannel& channel)
  6. : m_channel(channel)
  7. {
  8. }
  9. IRCChannelMemberListModel::~IRCChannelMemberListModel()
  10. {
  11. }
  12. int IRCChannelMemberListModel::row_count(const GModelIndex&) const
  13. {
  14. return m_channel.member_count();
  15. }
  16. int IRCChannelMemberListModel::column_count(const GModelIndex&) const
  17. {
  18. return 1;
  19. }
  20. String IRCChannelMemberListModel::column_name(int column) const
  21. {
  22. switch (column) {
  23. case Column::Name:
  24. return "Name";
  25. }
  26. ASSERT_NOT_REACHED();
  27. }
  28. GModel::ColumnMetadata IRCChannelMemberListModel::column_metadata(int column) const
  29. {
  30. switch (column) {
  31. case Column::Name:
  32. return { 70, TextAlignment::CenterLeft };
  33. }
  34. ASSERT_NOT_REACHED();
  35. }
  36. GVariant IRCChannelMemberListModel::data(const GModelIndex& index, Role role) const
  37. {
  38. if (role == Role::Display) {
  39. switch (index.column()) {
  40. case Column::Name:
  41. return m_channel.member_at(index.row());
  42. }
  43. }
  44. return {};
  45. }
  46. void IRCChannelMemberListModel::update()
  47. {
  48. did_update();
  49. }