Select first room on startup

This commit is contained in:
Nicolas Werner 2020-02-04 21:16:04 +01:00
parent 2b531227a8
commit 9d90467e6a
3 changed files with 15 additions and 7 deletions

View file

@ -158,6 +158,8 @@ RoomList::initialize(const QMap<QString, RoomInfo> &info)
if (rooms_.empty())
return;
sortRoomsByLastMessage();
auto room = firstRoom();
if (room.second.isNull())
return;
@ -479,13 +481,16 @@ RoomList::addInvitedRoom(const QString &room_id, const RoomInfo &info)
std::pair<QString, QSharedPointer<RoomInfoListItem>>
RoomList::firstRoom() const
{
auto firstRoom = rooms_.begin();
for (int i = 0; i < contentsLayout_->count(); i++) {
auto item = qobject_cast<RoomInfoListItem *>(contentsLayout_->itemAt(i)->widget());
while (firstRoom->second.isNull() && firstRoom != rooms_.end())
firstRoom++;
if (item) {
return std::pair<QString, QSharedPointer<RoomInfoListItem>>(
item->roomId(), rooms_.at(item->roomId()));
}
}
return std::pair<QString, QSharedPointer<RoomInfoListItem>>(firstRoom->first,
firstRoom->second);
return {};
}
void