mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
feat(Settings): Add setting for hiding group join and leave system messages
Messages can become spammy is long lasting quiet groups, drowning out real user
messages
Backported from 1be5b99d17
This commit is contained in:
parent
d0d288a9b6
commit
916e797c10
|
@ -33,7 +33,11 @@ public:
|
|||
virtual bool getGroupAlwaysNotify() const = 0;
|
||||
virtual void setGroupAlwaysNotify(bool newValue) = 0;
|
||||
|
||||
virtual bool getShowGroupJoinLeaveMessages() const = 0;
|
||||
virtual void setShowGroupJoinLeaveMessages(bool newValue) = 0;
|
||||
|
||||
DECLARE_SIGNAL(blackListChanged, QStringList const& blist);
|
||||
DECLARE_SIGNAL(showGroupJoinLeaveMessagesChanged, bool show);
|
||||
};
|
||||
|
||||
#endif /*IGROUP_SETTINGS_H*/
|
||||
|
|
|
@ -203,6 +203,7 @@ void Settings::loadGlobal()
|
|||
lightTrayIcon = s.value("lightTrayIcon", false).toBool();
|
||||
useEmoticons = s.value("useEmoticons", true).toBool();
|
||||
statusChangeNotificationEnabled = s.value("statusChangeNotificationEnabled", false).toBool();
|
||||
showGroupJoinLeaveMessages = s.value("showGroupJoinLeaveMessages", false).toBool();
|
||||
spellCheckingEnabled = s.value("spellCheckingEnabled", true).toBool();
|
||||
themeColor = s.value("themeColor", 0).toInt();
|
||||
style = s.value("style", "").toString();
|
||||
|
@ -680,6 +681,7 @@ void Settings::saveGlobal()
|
|||
s.setValue("style", style);
|
||||
s.setValue("nameColors", nameColors);
|
||||
s.setValue("statusChangeNotificationEnabled", statusChangeNotificationEnabled);
|
||||
s.setValue("showGroupJoinLeaveMessages", showGroupJoinLeaveMessages);
|
||||
s.setValue("spellCheckingEnabled", spellCheckingEnabled);
|
||||
}
|
||||
s.endGroup();
|
||||
|
@ -1155,6 +1157,21 @@ void Settings::setStatusChangeNotificationEnabled(bool newValue)
|
|||
}
|
||||
}
|
||||
|
||||
bool Settings::getShowGroupJoinLeaveMessages() const
|
||||
{
|
||||
QMutexLocker locker{&bigLock};
|
||||
return showGroupJoinLeaveMessages;
|
||||
}
|
||||
|
||||
void Settings::setShowGroupJoinLeaveMessages(bool newValue)
|
||||
{
|
||||
QMutexLocker locker{&bigLock};
|
||||
if (newValue != showGroupJoinLeaveMessages) {
|
||||
showGroupJoinLeaveMessages = newValue;
|
||||
emit showGroupJoinLeaveMessagesChanged(showGroupJoinLeaveMessages);
|
||||
}
|
||||
}
|
||||
|
||||
bool Settings::getSpellCheckingEnabled() const
|
||||
{
|
||||
const QMutexLocker locker{&bigLock};
|
||||
|
|
|
@ -464,9 +464,12 @@ public:
|
|||
|
||||
QStringList getBlackList() const override;
|
||||
void setBlackList(const QStringList& blist) override;
|
||||
|
||||
SIGNAL_IMPL(Settings, blackListChanged, QStringList const& blist)
|
||||
|
||||
bool getShowGroupJoinLeaveMessages() const override;
|
||||
void setShowGroupJoinLeaveMessages(bool newValue) override;
|
||||
SIGNAL_IMPL(Settings, showGroupJoinLeaveMessagesChanged, bool show)
|
||||
|
||||
// State
|
||||
QByteArray getWindowGeometry() const;
|
||||
void setWindowGeometry(const QByteArray& value);
|
||||
|
@ -654,6 +657,7 @@ private:
|
|||
QString timestampFormat;
|
||||
QString dateFormat;
|
||||
bool statusChangeNotificationEnabled;
|
||||
bool showGroupJoinLeaveMessages;
|
||||
bool spellCheckingEnabled;
|
||||
|
||||
// Privacy
|
||||
|
|
|
@ -151,6 +151,10 @@ public:
|
|||
void setGroupAlwaysNotify(bool newValue) override {}
|
||||
SIGNAL_IMPL(MockGroupSettings, blackListChanged, QStringList const& blist)
|
||||
|
||||
bool getShowGroupJoinLeaveMessages() const override { return true; };
|
||||
void setShowGroupJoinLeaveMessages(bool newValue) override {};
|
||||
SIGNAL_IMPL(MockGroupSettings, showGroupJoinLeaveMessagesChanged, bool show)
|
||||
|
||||
private:
|
||||
QStringList blacklist;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user