mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Added option to disable notification sounds.
This commit is contained in:
parent
ff4b431e5e
commit
e3bdd6d221
|
@ -209,6 +209,7 @@ void Settings::load()
|
|||
checkUpdates = s.value("checkUpdates", false).toBool();
|
||||
showWindow = s.value("showWindow", true).toBool();
|
||||
showInFront = s.value("showInFront", false).toBool();
|
||||
notifySound = s.value("notifySound", true).toBool();
|
||||
groupAlwaysNotify = s.value("groupAlwaysNotify", false).toBool();
|
||||
fauxOfflineMessaging = s.value("fauxOfflineMessaging", true).toBool();
|
||||
autoSaveEnabled = s.value("autoSaveEnabled", false).toBool();
|
||||
|
@ -380,6 +381,7 @@ void Settings::saveGlobal(QString path)
|
|||
s.setValue("checkUpdates", checkUpdates);
|
||||
s.setValue("showWindow", showWindow);
|
||||
s.setValue("showInFront", showInFront);
|
||||
s.setValue("notifySound", notifySound);
|
||||
s.setValue("groupAlwaysNotify", groupAlwaysNotify);
|
||||
s.setValue("fauxOfflineMessaging", fauxOfflineMessaging);
|
||||
s.setValue("compactLayout", compactLayout);
|
||||
|
@ -693,6 +695,16 @@ void Settings::setShowInFront(bool newValue)
|
|||
showInFront = newValue;
|
||||
}
|
||||
|
||||
bool Settings::getNotifySound() const
|
||||
{
|
||||
return notifySound;
|
||||
}
|
||||
|
||||
void Settings::setNotifySound(bool newValue)
|
||||
{
|
||||
notifySound = newValue;
|
||||
}
|
||||
|
||||
bool Settings::getGroupAlwaysNotify() const
|
||||
{
|
||||
return groupAlwaysNotify;
|
||||
|
|
|
@ -128,6 +128,9 @@ public:
|
|||
bool getShowInFront() const;
|
||||
void setShowInFront(bool newValue);
|
||||
|
||||
bool getNotifySound() const;
|
||||
void setNotifySound(bool newValue);
|
||||
|
||||
bool getGroupAlwaysNotify() const;
|
||||
void setGroupAlwaysNotify(bool newValue);
|
||||
|
||||
|
@ -280,6 +283,7 @@ private:
|
|||
bool checkUpdates;
|
||||
bool showWindow;
|
||||
bool showInFront;
|
||||
bool notifySound;
|
||||
bool groupAlwaysNotify;
|
||||
|
||||
bool forceTCP;
|
||||
|
|
|
@ -73,6 +73,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
|
|||
bodyUI->autoSaveFilesDir->setText(Settings::getInstance().getGlobalAutoAcceptDir());
|
||||
bodyUI->showWindow->setChecked(Settings::getInstance().getShowWindow());
|
||||
bodyUI->showInFront->setChecked(Settings::getInstance().getShowInFront());
|
||||
bodyUI->notifySound->setChecked(Settings::getInstance().getNotifySound());
|
||||
bodyUI->groupAlwaysNotify->setChecked(Settings::getInstance().getGroupAlwaysNotify());
|
||||
bodyUI->cbFauxOfflineMessaging->setChecked(Settings::getInstance().getFauxOfflineMessaging());
|
||||
bodyUI->cbCompactLayout->setChecked(Settings::getInstance().getCompactLayout());
|
||||
|
@ -132,6 +133,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
|
|||
connect(bodyUI->autoAwaySpinBox, SIGNAL(editingFinished()), this, SLOT(onAutoAwayChanged()));
|
||||
connect(bodyUI->showWindow, &QCheckBox::stateChanged, this, &GeneralForm::onShowWindowChanged);
|
||||
connect(bodyUI->showInFront, &QCheckBox::stateChanged, this, &GeneralForm::onSetShowInFront);
|
||||
connect(bodyUI->notifySound, &QCheckBox::stateChanged, this, &GeneralForm::onSetNotifySound);
|
||||
connect(bodyUI->groupAlwaysNotify, &QCheckBox::stateChanged, this, &GeneralForm::onSetGroupAlwaysNotify);
|
||||
connect(bodyUI->autoacceptFiles, &QCheckBox::stateChanged, this, &GeneralForm::onAutoAcceptFileChange);
|
||||
if (bodyUI->autoacceptFiles->isChecked())
|
||||
|
@ -371,6 +373,11 @@ void GeneralForm::onSetShowInFront()
|
|||
Settings::getInstance().setShowInFront(bodyUI->showInFront->isChecked());
|
||||
}
|
||||
|
||||
void GeneralForm::onSetNotifySound()
|
||||
{
|
||||
Settings::getInstance().setNotifySound(bodyUI->notifySound->isChecked());
|
||||
}
|
||||
|
||||
void GeneralForm::onSetGroupAlwaysNotify()
|
||||
{
|
||||
Settings::getInstance().setGroupAlwaysNotify(bodyUI->groupAlwaysNotify->isChecked());
|
||||
|
|
|
@ -56,6 +56,7 @@ private slots:
|
|||
void onCheckUpdateChanged();
|
||||
void onShowWindowChanged();
|
||||
void onSetShowInFront();
|
||||
void onSetNotifySound();
|
||||
void onSetGroupAlwaysNotify();
|
||||
void onFauxOfflineMessaging();
|
||||
void onCompactLayout();
|
||||
|
|
|
@ -345,6 +345,16 @@ instead of system taskbar.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="notifySound">
|
||||
<property name="toolTip">
|
||||
<string comment="toolTip for Notify sound setting">Play a sound when you recieve message.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Play sound</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
|
|
|
@ -745,17 +745,20 @@ void Widget::newMessageAlert(GenericChatroomWidget* chat)
|
|||
setWindowState(Qt::WindowActive);
|
||||
}
|
||||
|
||||
static QFile sndFile(":audio/notification.pcm");
|
||||
static QByteArray sndData;
|
||||
|
||||
if (sndData.isEmpty())
|
||||
if (Settings::getInstance().getNotifySound())
|
||||
{
|
||||
sndFile.open(QIODevice::ReadOnly);
|
||||
sndData = sndFile.readAll();
|
||||
sndFile.close();
|
||||
}
|
||||
static QFile sndFile(":audio/notification.pcm");
|
||||
static QByteArray sndData;
|
||||
|
||||
Audio::playMono16Sound(sndData);
|
||||
if (sndData.isEmpty())
|
||||
{
|
||||
sndFile.open(QIODevice::ReadOnly);
|
||||
sndData = sndFile.readAll();
|
||||
sndFile.close();
|
||||
}
|
||||
|
||||
Audio::playMono16Sound(sndData);
|
||||
}
|
||||
}
|
||||
|
||||
void Widget::playRingtone()
|
||||
|
|
Loading…
Reference in New Issue
Block a user