Skip to content
Snippets Groups Projects
Commit 9d90467e authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Select first room on startup

parent 2b531227
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -59,7 +59,8 @@ private:
size_t posToRemove = layout_->count() - 1;
QLayoutItem *item;
while (startingPos <= posToRemove && (item = layout_->takeAt(posToRemove)) != nullptr) {
while (startingPos <= posToRemove &&
(item = layout_->takeAt(posToRemove)) != nullptr) {
delete item->widget();
delete item;
......
......@@ -126,7 +126,9 @@ class TimelineModel : public QAbstractListModel
typingUsersChanged)
public:
explicit TimelineModel(TimelineViewManager *manager, QString room_id, QObject *parent = nullptr);
explicit TimelineModel(TimelineViewManager *manager,
QString room_id,
QObject *parent = nullptr);
enum Roles
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment