mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge pull request #5674
Monsterovich (8): fix(ui): Improved notifications fix(ui): Added option to hide message sender and contents fix(ui): minor fix fix(ui): don't forget to update UI fix(ui): apply requested changes fix(ui): revert CMakeLists.txt fix(ui): minor fix fix(ui): fix 2
This commit is contained in:
commit
01a53789be
|
@ -44,6 +44,7 @@ public:
|
||||||
virtual ~FileTransferWidget();
|
virtual ~FileTransferWidget();
|
||||||
void autoAcceptTransfer(const QString& path);
|
void autoAcceptTransfer(const QString& path);
|
||||||
bool isActive() const;
|
bool isActive() const;
|
||||||
|
static QString getHumanReadableSize(qint64 size);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void onFileTransferInfo(ToxFile file);
|
void onFileTransferInfo(ToxFile file);
|
||||||
|
@ -56,7 +57,6 @@ protected slots:
|
||||||
void fileTransferBrokenUnbroken(ToxFile file, bool broken);
|
void fileTransferBrokenUnbroken(ToxFile file, bool broken);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString getHumanReadableSize(qint64 size);
|
|
||||||
void updateWidgetColor(ToxFile const& file);
|
void updateWidgetColor(ToxFile const& file);
|
||||||
void updateWidgetText(ToxFile const& file);
|
void updateWidgetText(ToxFile const& file);
|
||||||
void updateFileProgress(ToxFile const& file);
|
void updateFileProgress(ToxFile const& file);
|
||||||
|
|
|
@ -154,6 +154,7 @@ void Settings::loadGlobal()
|
||||||
autoAwayTime = s.value("autoAwayTime", 10).toInt();
|
autoAwayTime = s.value("autoAwayTime", 10).toInt();
|
||||||
checkUpdates = s.value("checkUpdates", true).toBool();
|
checkUpdates = s.value("checkUpdates", true).toBool();
|
||||||
notifySound = s.value("notifySound", true).toBool(); // note: notifySound and busySound UI elements are now under UI settings
|
notifySound = s.value("notifySound", true).toBool(); // note: notifySound and busySound UI elements are now under UI settings
|
||||||
|
notifyHide = s.value("notifyHide", false).toBool();
|
||||||
busySound = s.value("busySound", false).toBool(); // page, but kept under General in settings file to be backwards compatible
|
busySound = s.value("busySound", false).toBool(); // page, but kept under General in settings file to be backwards compatible
|
||||||
fauxOfflineMessaging = s.value("fauxOfflineMessaging", true).toBool();
|
fauxOfflineMessaging = s.value("fauxOfflineMessaging", true).toBool();
|
||||||
autoSaveEnabled = s.value("autoSaveEnabled", false).toBool();
|
autoSaveEnabled = s.value("autoSaveEnabled", false).toBool();
|
||||||
|
@ -435,6 +436,7 @@ void Settings::saveGlobal()
|
||||||
s.setValue("autoAwayTime", autoAwayTime);
|
s.setValue("autoAwayTime", autoAwayTime);
|
||||||
s.setValue("checkUpdates", checkUpdates);
|
s.setValue("checkUpdates", checkUpdates);
|
||||||
s.setValue("notifySound", notifySound);
|
s.setValue("notifySound", notifySound);
|
||||||
|
s.setValue("notifyHide", notifyHide);
|
||||||
s.setValue("busySound", busySound);
|
s.setValue("busySound", busySound);
|
||||||
s.setValue("fauxOfflineMessaging", fauxOfflineMessaging);
|
s.setValue("fauxOfflineMessaging", fauxOfflineMessaging);
|
||||||
s.setValue("autoSaveEnabled", autoSaveEnabled);
|
s.setValue("autoSaveEnabled", autoSaveEnabled);
|
||||||
|
@ -1005,6 +1007,22 @@ void Settings::setNotifySound(bool newValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Settings::getNotifyHide() const
|
||||||
|
{
|
||||||
|
QMutexLocker locker{&bigLock};
|
||||||
|
return notifyHide;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Settings::setNotifyHide(bool newValue)
|
||||||
|
{
|
||||||
|
QMutexLocker locker{&bigLock};
|
||||||
|
|
||||||
|
if (newValue != notifyHide) {
|
||||||
|
notifyHide = newValue;
|
||||||
|
emit notifyHideChanged(notifyHide);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Settings::getBusySound() const
|
bool Settings::getBusySound() const
|
||||||
{
|
{
|
||||||
QMutexLocker locker{&bigLock};
|
QMutexLocker locker{&bigLock};
|
||||||
|
|
|
@ -181,6 +181,7 @@ signals:
|
||||||
void makeToxPortableChanged(bool enabled);
|
void makeToxPortableChanged(bool enabled);
|
||||||
void busySoundChanged(bool enabled);
|
void busySoundChanged(bool enabled);
|
||||||
void notifySoundChanged(bool enabled);
|
void notifySoundChanged(bool enabled);
|
||||||
|
void notifyHideChanged(bool enabled);
|
||||||
void groupAlwaysNotifyChanged(bool enabled);
|
void groupAlwaysNotifyChanged(bool enabled);
|
||||||
void translationChanged(const QString& translation);
|
void translationChanged(const QString& translation);
|
||||||
void toxmeInfoChanged(const QString& info);
|
void toxmeInfoChanged(const QString& info);
|
||||||
|
@ -337,6 +338,9 @@ public:
|
||||||
bool getNotifySound() const;
|
bool getNotifySound() const;
|
||||||
void setNotifySound(bool newValue);
|
void setNotifySound(bool newValue);
|
||||||
|
|
||||||
|
bool getNotifyHide() const;
|
||||||
|
void setNotifyHide(bool newValue);
|
||||||
|
|
||||||
bool getBusySound() const;
|
bool getBusySound() const;
|
||||||
void setBusySound(bool newValue);
|
void setBusySound(bool newValue);
|
||||||
|
|
||||||
|
@ -620,6 +624,7 @@ private:
|
||||||
bool desktopNotify;
|
bool desktopNotify;
|
||||||
bool showWindow;
|
bool showWindow;
|
||||||
bool notifySound;
|
bool notifySound;
|
||||||
|
bool notifyHide;
|
||||||
bool busySound;
|
bool busySound;
|
||||||
bool groupAlwaysNotify;
|
bool groupAlwaysNotify;
|
||||||
bool nameColors;
|
bool nameColors;
|
||||||
|
|
|
@ -19,37 +19,40 @@ DesktopNotify::DesktopNotify()
|
||||||
notifyCore.registerApplication(snoreApp);
|
notifyCore.registerApplication(snoreApp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesktopNotify::createNotification(const QString& title)
|
void DesktopNotify::createNotification(const QString& title, const QString& text, Snore::Icon& icon)
|
||||||
{
|
{
|
||||||
const Settings& s = Settings::getInstance();
|
const Settings& s = Settings::getInstance();
|
||||||
if(!(s.getNotify() && s.getDesktopNotify())) {
|
if(!(s.getNotify() && s.getDesktopNotify())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Snore::Notification notify{snoreApp, Snore::Alert(), title, {}, snoreIcon};
|
Snore::Notification notify{snoreApp, Snore::Alert(), title, text, icon};
|
||||||
|
|
||||||
notifyCore.broadcastNotification(notify);
|
notifyCore.broadcastNotification(notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesktopNotify::notifyGroupMessage()
|
void DesktopNotify::notifyMessage(const QString& title, const QString& message)
|
||||||
{
|
{
|
||||||
const QString title = tr("New group message received");
|
createNotification(title, message, snoreIcon);
|
||||||
createNotification(title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesktopNotify::notifyFriendRequest()
|
void DesktopNotify::notifyMessagePixmap(const QString& title, const QString& message, QPixmap avatar)
|
||||||
{
|
{
|
||||||
const QString title = tr("New friend request received");
|
Snore::Icon new_icon(avatar);
|
||||||
createNotification(title);
|
createNotification(title, message, new_icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesktopNotify::notifyGroupInvite()
|
void DesktopNotify::notifyMessageSimple(const MessageType type)
|
||||||
{
|
{
|
||||||
const QString title = tr("New group invite received");
|
QString message;
|
||||||
createNotification(title);
|
switch (type) {
|
||||||
|
case MessageType::FRIEND: message = tr("New message"); break;
|
||||||
|
case MessageType::FRIEND_FILE: message = tr("Incoming file transfer"); break;
|
||||||
|
case MessageType::FRIEND_REQUEST: message = tr("Friend request received"); break;
|
||||||
|
case MessageType::GROUP: message = tr("New group message"); break;
|
||||||
|
case MessageType::GROUP_INVITE: message = tr("Group invite received"); break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesktopNotify::notifyFriendMessage()
|
createNotification(message, {}, snoreIcon);
|
||||||
{
|
|
||||||
const QString title = tr("New message received");
|
|
||||||
createNotification(title);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,14 +12,21 @@ class DesktopNotify : public QObject
|
||||||
public:
|
public:
|
||||||
DesktopNotify();
|
DesktopNotify();
|
||||||
|
|
||||||
|
enum class MessageType {
|
||||||
|
FRIEND,
|
||||||
|
FRIEND_FILE,
|
||||||
|
FRIEND_REQUEST,
|
||||||
|
GROUP,
|
||||||
|
GROUP_INVITE
|
||||||
|
};
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void notifyFriendMessage();
|
void notifyMessage(const QString& title, const QString& message);
|
||||||
void notifyGroupMessage();
|
void notifyMessagePixmap(const QString& title, const QString& message, QPixmap avatar);
|
||||||
void notifyFriendRequest();
|
void notifyMessageSimple(const MessageType type);
|
||||||
void notifyGroupInvite();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createNotification(const QString& title);
|
void createNotification(const QString& title, const QString& text, Snore::Icon& icon);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Snore::SnoreCore& notifyCore;
|
Snore::SnoreCore& notifyCore;
|
||||||
|
|
|
@ -338,7 +338,10 @@ void ChatForm::onFileRecvRequest(ToxFile file)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget::getInstance()->newFriendMessageAlert(f->getPublicKey());
|
Widget::getInstance()->newFriendMessageAlert(f->getPublicKey(),
|
||||||
|
file.fileName +
|
||||||
|
" (" + FileTransferWidget::getHumanReadableSize(file.filesize) + ")",
|
||||||
|
true, true);
|
||||||
QString name;
|
QString name;
|
||||||
ToxPk friendId = f->getPublicKey();
|
ToxPk friendId = f->getPublicKey();
|
||||||
if (friendId != previousId) {
|
if (friendId != previousId) {
|
||||||
|
|
|
@ -78,6 +78,7 @@ UserInterfaceForm::UserInterfaceForm(SettingsWidget* myParent)
|
||||||
bodyUI->groupOnlyNotfiyWhenMentioned->setChecked(!s.getGroupAlwaysNotify());
|
bodyUI->groupOnlyNotfiyWhenMentioned->setChecked(!s.getGroupAlwaysNotify());
|
||||||
bodyUI->groupOnlyNotfiyWhenMentioned->setEnabled(s.getNotify());
|
bodyUI->groupOnlyNotfiyWhenMentioned->setEnabled(s.getNotify());
|
||||||
bodyUI->notifySound->setChecked(s.getNotifySound());
|
bodyUI->notifySound->setChecked(s.getNotifySound());
|
||||||
|
bodyUI->notifyHide->setChecked(s.getNotifyHide());
|
||||||
bodyUI->notifySound->setEnabled(s.getNotify());
|
bodyUI->notifySound->setEnabled(s.getNotify());
|
||||||
bodyUI->busySound->setChecked(s.getBusySound());
|
bodyUI->busySound->setChecked(s.getBusySound());
|
||||||
bodyUI->busySound->setEnabled(s.getNotifySound() && s.getNotify());
|
bodyUI->busySound->setEnabled(s.getNotifySound() && s.getNotify());
|
||||||
|
@ -391,3 +392,9 @@ void UserInterfaceForm::on_useNameColors_stateChanged(int value)
|
||||||
{
|
{
|
||||||
Settings::getInstance().setEnableGroupChatsColor(value);
|
Settings::getInstance().setEnableGroupChatsColor(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UserInterfaceForm::on_notifyHide_stateChanged(int value)
|
||||||
|
{
|
||||||
|
Settings::getInstance().setNotifyHide(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ private slots:
|
||||||
void on_notify_stateChanged();
|
void on_notify_stateChanged();
|
||||||
void on_desktopNotify_stateChanged();
|
void on_desktopNotify_stateChanged();
|
||||||
void on_notifySound_stateChanged();
|
void on_notifySound_stateChanged();
|
||||||
|
void on_notifyHide_stateChanged(int);
|
||||||
void on_busySound_stateChanged();
|
void on_busySound_stateChanged();
|
||||||
void on_showWindow_stateChanged();
|
void on_showWindow_stateChanged();
|
||||||
void on_groupOnlyNotfiyWhenMentioned_stateChanged();
|
void on_groupOnlyNotfiyWhenMentioned_stateChanged();
|
||||||
|
@ -60,7 +61,6 @@ private slots:
|
||||||
void on_cbGroupchatPosition_stateChanged();
|
void on_cbGroupchatPosition_stateChanged();
|
||||||
void on_themeColorCBox_currentIndexChanged(int);
|
void on_themeColorCBox_currentIndexChanged(int);
|
||||||
void on_cbShowIdenticons_stateChanged();
|
void on_cbShowIdenticons_stateChanged();
|
||||||
|
|
||||||
void on_txtChatFont_currentFontChanged(const QFont& f);
|
void on_txtChatFont_currentFontChanged(const QFont& f);
|
||||||
void on_txtChatFontSize_valueChanged(int arg1);
|
void on_txtChatFontSize_valueChanged(int arg1);
|
||||||
void on_useNameColors_stateChanged(int value);
|
void on_useNameColors_stateChanged(int value);
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>650</width>
|
<width>650</width>
|
||||||
<height>892</height>
|
<height>950</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,0,0,0,0">
|
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,0,0,0,0">
|
||||||
|
@ -221,6 +221,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="notifyHide">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hide message sender and contents</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|
|
@ -964,7 +964,7 @@ void Widget::cleanupNotificationSound()
|
||||||
void Widget::incomingNotification(uint32_t friendnumber)
|
void Widget::incomingNotification(uint32_t friendnumber)
|
||||||
{
|
{
|
||||||
const auto& friendId = FriendList::id2Key(friendnumber);
|
const auto& friendId = FriendList::id2Key(friendnumber);
|
||||||
newFriendMessageAlert(friendId, false);
|
newFriendMessageAlert(friendId, {}, false);
|
||||||
|
|
||||||
// loop until call answered or rejected
|
// loop until call answered or rejected
|
||||||
playNotificationSound(IAudioSink::Sound::IncomingCall, true);
|
playNotificationSound(IAudioSink::Sound::IncomingCall, true);
|
||||||
|
@ -1238,7 +1238,7 @@ void Widget::onFriendMessageReceived(uint32_t friendnumber, const QString& messa
|
||||||
profile->getHistory()->addNewMessage(publicKey, text, publicKey, timestamp, true, name);
|
profile->getHistory()->addNewMessage(publicKey, text, publicKey, timestamp, true, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
newFriendMessageAlert(friendId);
|
newFriendMessageAlert(friendId, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget::addFriendDialog(const Friend* frnd, ContentDialog* dialog)
|
void Widget::addFriendDialog(const Friend* frnd, ContentDialog* dialog)
|
||||||
|
@ -1344,7 +1344,7 @@ void Widget::addGroupDialog(Group* group, ContentDialog* dialog)
|
||||||
emit widget->chatroomWidgetClicked(widget);
|
emit widget->chatroomWidgetClicked(widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Widget::newFriendMessageAlert(const ToxPk& friendId, bool sound)
|
bool Widget::newFriendMessageAlert(const ToxPk& friendId, const QString& text, bool sound, bool file)
|
||||||
{
|
{
|
||||||
bool hasActive;
|
bool hasActive;
|
||||||
QWidget* currentWindow;
|
QWidget* currentWindow;
|
||||||
|
@ -1381,7 +1381,15 @@ bool Widget::newFriendMessageAlert(const ToxPk& friendId, bool sound)
|
||||||
widget->updateStatusLight();
|
widget->updateStatusLight();
|
||||||
ui->friendList->trackWidget(widget);
|
ui->friendList->trackWidget(widget);
|
||||||
#if DESKTOP_NOTIFICATIONS
|
#if DESKTOP_NOTIFICATIONS
|
||||||
notifier.notifyFriendMessage();
|
if (settings.getNotifyHide()) {
|
||||||
|
notifier.notifyMessageSimple(file ? DesktopNotify::MessageType::FRIEND_FILE : DesktopNotify::MessageType::FRIEND);
|
||||||
|
} else {
|
||||||
|
QString title = f->getDisplayedName();
|
||||||
|
if (file) {
|
||||||
|
title += " - " + tr("File sent");
|
||||||
|
}
|
||||||
|
notifier.notifyMessagePixmap(title, text, Nexus::getProfile()->loadAvatar(f->getPublicKey()));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (contentDialog == nullptr) {
|
if (contentDialog == nullptr) {
|
||||||
|
@ -1398,7 +1406,7 @@ bool Widget::newFriendMessageAlert(const ToxPk& friendId, bool sound)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Widget::newGroupMessageAlert(const GroupId& groupId, bool notify)
|
bool Widget::newGroupMessageAlert(const GroupId& groupId, const ToxPk& authorPk, const QString& message, bool notify)
|
||||||
{
|
{
|
||||||
bool hasActive;
|
bool hasActive;
|
||||||
QWidget* currentWindow;
|
QWidget* currentWindow;
|
||||||
|
@ -1421,7 +1429,17 @@ bool Widget::newGroupMessageAlert(const GroupId& groupId, bool notify)
|
||||||
g->setEventFlag(true);
|
g->setEventFlag(true);
|
||||||
widget->updateStatusLight();
|
widget->updateStatusLight();
|
||||||
#if DESKTOP_NOTIFICATIONS
|
#if DESKTOP_NOTIFICATIONS
|
||||||
notifier.notifyGroupMessage();
|
if (settings.getNotifyHide()) {
|
||||||
|
notifier.notifyMessageSimple(DesktopNotify::MessageType::GROUP);
|
||||||
|
} else {
|
||||||
|
Friend *f = FriendList::findFriend(authorPk);
|
||||||
|
QString title = g->getPeerList().value(authorPk) + " (" + g->getDisplayedName() + ")";
|
||||||
|
if (!f) {
|
||||||
|
notifier.notifyMessage(title, message);
|
||||||
|
} else {
|
||||||
|
notifier.notifyMessagePixmap(title, message, Nexus::getProfile()->loadAvatar(f->getPublicKey()));
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (contentDialog == nullptr) {
|
if (contentDialog == nullptr) {
|
||||||
|
@ -1497,7 +1515,11 @@ void Widget::onFriendRequestReceived(const ToxPk& friendPk, const QString& messa
|
||||||
friendRequestsUpdate();
|
friendRequestsUpdate();
|
||||||
newMessageAlert(window(), isActiveWindow(), true, true);
|
newMessageAlert(window(), isActiveWindow(), true, true);
|
||||||
#if DESKTOP_NOTIFICATIONS
|
#if DESKTOP_NOTIFICATIONS
|
||||||
notifier.notifyFriendRequest();
|
if (settings.getNotifyHide()) {
|
||||||
|
notifier.notifyMessageSimple(DesktopNotify::MessageType::FRIEND_REQUEST);
|
||||||
|
} else {
|
||||||
|
notifier.notifyMessage(friendPk.toString() + tr(" sent you a friend request."), message);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1736,7 +1758,11 @@ void Widget::onGroupInviteReceived(const GroupInvite& inviteInfo)
|
||||||
groupInvitesUpdate();
|
groupInvitesUpdate();
|
||||||
newMessageAlert(window(), isActiveWindow(), true, true);
|
newMessageAlert(window(), isActiveWindow(), true, true);
|
||||||
#if DESKTOP_NOTIFICATIONS
|
#if DESKTOP_NOTIFICATIONS
|
||||||
notifier.notifyGroupInvite();
|
if (settings.getNotifyHide()) {
|
||||||
|
notifier.notifyMessageSimple(DesktopNotify::MessageType::GROUP_INVITE);
|
||||||
|
} else {
|
||||||
|
notifier.notifyMessagePixmap(f->getDisplayedName() + tr(" invites you to join a group."), {}, Nexus::getProfile()->loadAvatar(f->getPublicKey()));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1781,7 +1807,7 @@ void Widget::onGroupMessageReceived(int groupnumber, int peernumber, const QStri
|
||||||
form->addMessage(author, message, date, isAction, true);
|
form->addMessage(author, message, date, isAction, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
newGroupMessageAlert(groupId, targeted || settings.getGroupAlwaysNotify());
|
newGroupMessageAlert(groupId, author, message, targeted || settings.getGroupAlwaysNotify());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget::onGroupPeerlistChanged(uint32_t groupnumber)
|
void Widget::onGroupPeerlistChanged(uint32_t groupnumber)
|
||||||
|
|
|
@ -123,8 +123,8 @@ public:
|
||||||
void showUpdateDownloadProgress();
|
void showUpdateDownloadProgress();
|
||||||
void addFriendDialog(const Friend* frnd, ContentDialog* dialog);
|
void addFriendDialog(const Friend* frnd, ContentDialog* dialog);
|
||||||
void addGroupDialog(Group* group, ContentDialog* dialog);
|
void addGroupDialog(Group* group, ContentDialog* dialog);
|
||||||
bool newFriendMessageAlert(const ToxPk& friendId, bool sound = true);
|
bool newFriendMessageAlert(const ToxPk& friendId, const QString& text, bool sound = true, bool file = false);
|
||||||
bool newGroupMessageAlert(const GroupId& groupId, bool notify);
|
bool newGroupMessageAlert(const GroupId& groupId, const ToxPk& authorPk, const QString& message, bool notify);
|
||||||
bool getIsWindowMinimized();
|
bool getIsWindowMinimized();
|
||||||
void updateIcons();
|
void updateIcons();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user