Add signal/slot for decryption changes in last patch

This commit is contained in:
Joseph Donofry 2020-04-22 19:52:30 -04:00
parent a4c280a4f9
commit b298f01d92
No known key found for this signature in database
GPG Key ID: E8A1D78EF044B0CB
9 changed files with 34 additions and 2 deletions

View File

@ -153,6 +153,7 @@ signals:
void updateGroupsInfo(const mtx::responses::JoinedGroups &groups);
void themeChanged();
void decryptSidebarChanged();
private slots:
void showUnreadMessageNotification(int count);

View File

@ -117,6 +117,10 @@ MainWindow::MainWindow(QWidget *parent)
userSettingsPage_, SIGNAL(trayOptionChanged(bool)), trayIcon_, SLOT(setVisible(bool)));
connect(
userSettingsPage_, &UserSettingsPage::themeChanged, chat_page_, &ChatPage::themeChanged);
connect(userSettingsPage_,
&UserSettingsPage::decryptSidebarChanged,
chat_page_,
&ChatPage::decryptSidebarChanged);
connect(trayIcon_,
SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this,

View File

@ -184,7 +184,7 @@ encrypt_group_message(const std::string &room_id, const std::string &device_id,
data.relates_to = relation;
auto message_index = olm_outbound_group_session_message_index(res.session);
nhlog::crypto()->info("next message_index {}", message_index);
nhlog::crypto()->debug("next message_index {}", message_index);
// We need to re-pickle the session after we send a message to save the new message_index.
cache::updateOutboundMegolmSession(room_id, message_index);

View File

@ -432,6 +432,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
connect(decryptSidebar_, &Toggle::toggled, this, [this](bool isDisabled) {
settings_->setDecryptSidebar(!isDisabled);
emit decryptSidebarChanged();
});
connect(avatarCircles_, &Toggle::toggled, this, [this](bool isDisabled) {

View File

@ -183,6 +183,7 @@ signals:
void moveBack();
void trayOptionChanged(bool value);
void themeChanged();
void decryptSidebarChanged();
private slots:
void importSessionKeys();

View File

@ -502,6 +502,13 @@ isMessage(const mtx::events::Event<T> &)
return false;
}
template<typename T>
auto
isMessage(const mtx::events::EncryptedEvent<T> &)
{
return true;
}
void
TimelineModel::updateLastMessage()
{

View File

@ -189,6 +189,7 @@ public:
Q_INVOKABLE void cacheMedia(QString eventId);
Q_INVOKABLE bool saveMedia(QString eventId) const;
void updateLastMessage();
void addEvents(const mtx::responses::Timeline &events);
template<class T>
void sendMessage(const T &msg);
@ -257,7 +258,6 @@ private:
const std::string &user_id,
const mtx::responses::ClaimKeys &res,
mtx::http::RequestErr err);
void updateLastMessage();
void readEvent(const std::string &id);
QHash<QString, mtx::events::collections::TimelineEvents> events;

View File

@ -16,6 +16,19 @@
Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents)
void
TimelineViewManager::updateEncryptedDescriptions()
{
QHash<QString, QSharedPointer<TimelineModel>>::iterator i;
for (i = models.begin(); i != models.end(); ++i) {
auto ptr = i.value();
if (!ptr.isNull()) {
ptr->updateLastMessage();
}
}
}
void
TimelineViewManager::updateColorPalette()
{
@ -83,6 +96,10 @@ TimelineViewManager::TimelineViewManager(QSharedPointer<UserSettings> userSettin
&ChatPage::themeChanged,
this,
&TimelineViewManager::updateColorPalette);
connect(dynamic_cast<ChatPage *>(parent),
&ChatPage::decryptSidebarChanged,
this,
&TimelineViewManager::updateEncryptedDescriptions);
}
void

View File

@ -84,6 +84,7 @@ public slots:
const QString &url,
const QString &mime,
uint64_t dsize);
void updateEncryptedDescriptions();
private:
#ifdef USE_QUICK_VIEW