first lousy attempt to make load indicator in feedView

This commit is contained in:
Blue 2021-04-30 23:07:00 +03:00
parent 50190f3eac
commit 0973cb2991
4 changed files with 60 additions and 11 deletions

View file

@ -346,6 +346,7 @@ void Models::MessageFeed::fetchMore(const QModelIndex& parent)
{
if (syncState == incomplete) {
syncState = syncing;
emit syncStateChange(syncState);
emit requestStateChange(true);
if (storage.size() == 0) {
@ -373,6 +374,7 @@ void Models::MessageFeed::responseArchive(const std::list<Shared::Message> list,
} else {
syncState = incomplete;
}
emit syncStateChange(syncState);
emit requestStateChange(false);
}
}
@ -543,3 +545,8 @@ void Models::MessageFeed::reportLocalPathInvalid(const QString& messageId)
emit dataChanged(index, index, {MessageRoles::Attach});
}
Models::MessageFeed::SyncState Models::MessageFeed::getSyncState() const
{
return syncState;
}

View file

@ -41,7 +41,13 @@ namespace Models {
class MessageFeed : public QAbstractListModel
{
Q_OBJECT
public:
public:
enum SyncState {
incomplete,
syncing,
complete
};
MessageFeed(const Element* rosterItem, QObject *parent = nullptr);
~MessageFeed();
@ -69,6 +75,7 @@ public:
void incrementObservers();
void decrementObservers();
SyncState getSyncState() const;
signals:
void requestArchive(const QString& before);
@ -78,6 +85,7 @@ signals:
void newMessage(const Shared::Message& msg);
void unnoticedMessage(const Shared::Message& msg);
void localPathInvalid(const QString& path);
void syncStateChange(SyncState state);
public:
enum MessageRoles {
@ -102,12 +110,6 @@ protected:
std::set<MessageRoles> detectChanges(const Shared::Message& msg, const QMap<QString, QVariant>& data) const;
private:
enum SyncState {
incomplete,
syncing,
complete
};
//tags
struct id {};
struct time {};