forked from blue/squawk
first lousy attempt to make load indicator in feedView
This commit is contained in:
parent
50190f3eac
commit
0973cb2991
4 changed files with 60 additions and 11 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue