Init scroll to eventid.

This commit is contained in:
Black Hat
2018-10-22 09:48:37 +08:00
parent ffbfa977b5
commit fce213a432
6 changed files with 25 additions and 5 deletions

View File

@@ -470,3 +470,12 @@ QVariant MessageEventModel::data(const QModelIndex& idx, int role) const {
return {};
}
int MessageEventModel::eventIDToIndex(const QString& eventID) {
const auto it = m_currentRoom->findInTimeline(eventID);
if (it == m_currentRoom->timelineEdge()) {
qWarning() << "Trying to find inexistent event:" << eventID;
return -1;
}
return it - m_currentRoom->messageEvents().rbegin() + timelineBaseIndex();
}

View File

@@ -45,6 +45,8 @@ class MessageEventModel : public QAbstractListModel {
int role = Qt::DisplayRole) const override;
QHash<int, QByteArray> roleNames() const override;
Q_INVOKABLE int eventIDToIndex(const QString& eventID);
private slots:
int refreshEvent(const QString& eventId);
void refreshRow(int row);