summary refs log tree commit diff
path: root/src/timeline
diff options
context:
space:
mode:
authorNepNep21 <nepnep91@protonmail.com>2023-12-17 20:17:43 -0300
committerNepNep21 <nepnep91@protonmail.com>2023-12-17 20:17:43 -0300
commitbfdf87a92dc6a5a18c38fc04af61d306d69ac03c (patch)
tree6fb629ed35596c88a5352d241e15b88508b4daa8 /src/timeline
parentAdd /ignore (diff)
downloadnheko-bfdf87a92dc6a5a18c38fc04af61d306d69ac03c.tar.xz
Multiple changes
More consistent language with similar description strings
Add manpage entry
Add /unignore
Add ignore & decline button in the invite page
Add invite rejection to all ignore methods
Diffstat (limited to 'src/timeline')
-rw-r--r--src/timeline/InputBar.cpp32
-rw-r--r--src/timeline/InputBar.h2
-rw-r--r--src/timeline/RoomlistModel.h2
3 files changed, 26 insertions, 10 deletions
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp

index ca320d04..e93f2795 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp
@@ -241,7 +241,8 @@ InputBar::updateTextContentProperties(const QString &t) QStringLiteral("goto"), QStringLiteral("converttodm"), QStringLiteral("converttoroom"), - QStringLiteral("ignore")}; + QStringLiteral("ignore"), + QStringLiteral("unignore")}; bool hasInvalidCommand = !commandName.isNull() && !validCommands.contains(commandName); bool hasIncompleteCommand = hasInvalidCommand && '/' + commandName == t; @@ -940,15 +941,9 @@ InputBar::command(const QString &command, QString args) } else if (command == QLatin1String("converttoroom")) { utils::removeDirectFromRoom(this->room->roomId()); } else if (command == QLatin1String("ignore")) { - QSharedPointer<UserProfile> user( - new UserProfile(QString(), args, TimelineViewManager::instance())); - connect(user.get(), &UserProfile::failedToFetchProfile, [args] { - MainWindow::instance()->showNotification(tr("Failed to fetch user %1").arg(args)); - }); - connect(user.get(), &UserProfile::globalUsernameRetrieved, [user](const QString &user_id) { - Q_UNUSED(user_id) - user->setIgnored(true); - }); + this->setArgIgnored(args, true); + } else if (command == QLatin1String("unignore")) { + this->setArgIgnored(args, false); } else { return false; } @@ -956,6 +951,23 @@ InputBar::command(const QString &command, QString args) return true; } +void +InputBar::setArgIgnored(const QString &user, const bool ignored) +{ + QSharedPointer<UserProfile> profile( + new UserProfile(QString(), user, TimelineViewManager::instance())); + connect(profile.get(), &UserProfile::failedToFetchProfile, [user] { + MainWindow::instance()->showNotification(tr("Failed to fetch user %1").arg(user)); + }); + + connect(profile.get(), + &UserProfile::globalUsernameRetrieved, + [profile, ignored](const QString &user_id) { + Q_UNUSED(user_id) + profile->setIgnored(ignored); + }); +} + MediaUpload::MediaUpload(std::unique_ptr<QIODevice> source_, const QString &mimetype, const QString &originalFilename, diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h
index b15377fc..cbde0e07 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h
@@ -283,6 +283,8 @@ private: void updateTextContentProperties(const QString &t); + void setArgIgnored(const QString &user, const bool ignored); + QTimer typingRefresh_; QTimer typingTimeout_; TimelineModel *room; diff --git a/src/timeline/RoomlistModel.h b/src/timeline/RoomlistModel.h
index 34bf3f9a..2294864f 100644 --- a/src/timeline/RoomlistModel.h +++ b/src/timeline/RoomlistModel.h
@@ -197,6 +197,8 @@ public: return instance_; } + static FilteredRoomlistModel *instance() { return instance_; } + bool lessThan(const QModelIndex &left, const QModelIndex &right) const override; bool filterAcceptsRow(int sourceRow, const QModelIndex &) const override;