~libqtelegram-team/telegram-app/qml-plugin

« back to all changes in this revision

Viewing changes to qmlplugin/models/dialogsmodel.h

MERGED lp:~libqtelegram-team/libqtelegram/pointers-to-references-diff

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
        MembersOnlineRole,
22
22
        UserOnlineRole,
23
23
        LastSeenOnlineRole,
24
 
        TopMessageRole
 
24
        TopMessageIdRole,
 
25
        TopMessageFromIdRole,
 
26
        TopMessageFromFirstNameRole,
 
27
        TopMessageFromLastNameRole,
 
28
        TopMessageFromPhoneRole,
 
29
        TopMessageToIdRole,
 
30
        TopMessageOutRole,
 
31
        TopMessageUnreadRole,
 
32
        TopMessageDateRole,
 
33
        TopMessageTextRole,
 
34
        TopMessageMediaTypeRole
25
35
    };
26
36
 
27
37
    explicit DialogsModel(QObject *parent = 0);
28
38
    ~DialogsModel();
29
39
 
30
40
    // dialog items
31
 
    void append(DialogItem *dialog);
 
41
    void append(const DialogItem &dialog);
32
42
    void clear();
33
43
 
34
44
    // updates
50
60
    Q_INVOKABLE QVariant getMessagesModelFromId(int dialogId);
51
61
 
52
62
private:
53
 
    QList<DialogItem *> m_dialogs;
 
63
    QList<DialogItem> m_dialogs;
54
64
    // correlates dialog->id() --> index in m_dialogs
55
65
    QMap<qint32, qint32> m_dlgIdsMap;
56
66
    // correlates dialog->topMessage()->id() --> dialog->id()
60
70
 
61
71
private Q_SLOTS:
62
72
    void onTypingFinished();
63
 
    void onDialogsAdded(const QList<DialogItem *> &dialogs, qint32 totalCount);
 
73
    void onDialogsAdded(const QList<DialogItem> &dialogs, qint32 totalCount);
64
74
};
65
75
 
66
76
#endif // DIALOGSMODEL_H