diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 87150a374..04b6f2fd1 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -30,7 +30,7 @@
https://martinrotter.github.io/donate/
-
+
none
diff --git a/resources/rssguard.qrc b/resources/rssguard.qrc
index 697175ccb..6866bfd93 100755
--- a/resources/rssguard.qrc
+++ b/resources/rssguard.qrc
@@ -10,6 +10,9 @@
sounds/sheep.wav
sounds/doorbell.wav
sounds/notify.wav
+ sounds/fanfare.wav
+ sounds/fanfare2.wav
+ sounds/goodresult.wav
scripts/adblock/adblock-server.js
scripts/public_suffix_list.dat
diff --git a/resources/sounds/fanfare.wav b/resources/sounds/fanfare.wav
new file mode 100755
index 000000000..046796765
Binary files /dev/null and b/resources/sounds/fanfare.wav differ
diff --git a/resources/sounds/fanfare2.wav b/resources/sounds/fanfare2.wav
new file mode 100755
index 000000000..5f08832ad
Binary files /dev/null and b/resources/sounds/fanfare2.wav differ
diff --git a/resources/sounds/goodresult.wav b/resources/sounds/goodresult.wav
new file mode 100755
index 000000000..64e7c6033
Binary files /dev/null and b/resources/sounds/goodresult.wav differ
diff --git a/resources/sounds/rooster.wav b/resources/sounds/rooster.wav
index f4f0266d4..f1c18546d 100755
Binary files a/resources/sounds/rooster.wav and b/resources/sounds/rooster.wav differ
diff --git a/src/librssguard/gui/notifications/singlenotificationeditor.cpp b/src/librssguard/gui/notifications/singlenotificationeditor.cpp
index 2362d6d4c..5fd294285 100755
--- a/src/librssguard/gui/notifications/singlenotificationeditor.cpp
+++ b/src/librssguard/gui/notifications/singlenotificationeditor.cpp
@@ -5,7 +5,9 @@
#include "miscellaneous/application.h"
#include "miscellaneous/iconfactory.h"
+#include
#include
+#include
SingleNotificationEditor::SingleNotificationEditor(const Notification& notification, QWidget* parent)
: QGroupBox(parent), m_notificationEvent(Notification::Event::NoEvent) {
@@ -25,6 +27,9 @@ SingleNotificationEditor::SingleNotificationEditor(const Notification& notificat
connect(m_ui.m_txtSound, &QLineEdit::textChanged, this, &SingleNotificationEditor::notificationChanged);
connect(m_ui.m_cbBalloon, &QCheckBox::toggled, this, &SingleNotificationEditor::notificationChanged);
+ QCompleter* completer = new QCompleter(qApp->builtinSounds(), this);
+ m_ui.m_txtSound->setCompleter(completer);
+
setFixedHeight(sizeHint().height());
}
diff --git a/src/librssguard/gui/settings/settingsnotifications.cpp b/src/librssguard/gui/settings/settingsnotifications.cpp
index c9d125800..f3dc34a0e 100755
--- a/src/librssguard/gui/settings/settingsnotifications.cpp
+++ b/src/librssguard/gui/settings/settingsnotifications.cpp
@@ -24,15 +24,6 @@ SettingsNotifications::SettingsNotifications(Settings* settings, QWidget* parent
void SettingsNotifications::loadSettings() {
onBeginLoadSettings();
- auto builtin_sounds = QDir(SOUNDS_BUILTIN_DIRECTORY).entryInfoList(QDir::Filter::Files,
- QDir::SortFlag::Name);
- auto iter = boolinq::from(builtin_sounds).select([](const QFileInfo& i) {
- return QSL(" %1").arg(i.absoluteFilePath());
- }).toStdList();
- auto descs = FROM_STD_LIST(QStringList, iter).join(QSL("\n"));
-
- m_ui.m_lblAvailableSounds->setText(QSL("Built-in sounds:\n%1").arg(descs));
-
// Load fancy notification settings.
m_ui.m_checkEnableNotifications->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::EnableNotifications)).toBool());
m_ui.m_editor->loadNotifications(qApp->notifications()->allNotifications());
diff --git a/src/librssguard/gui/settings/settingsnotifications.ui b/src/librssguard/gui/settings/settingsnotifications.ui
index 554bdf1b3..ff4386e12 100755
--- a/src/librssguard/gui/settings/settingsnotifications.ui
+++ b/src/librssguard/gui/settings/settingsnotifications.ui
@@ -47,13 +47,23 @@
-
-
+
+
+ There are some built-in sounds. Just start typing ":" and they will show up.
+
+
+ true
+
+
-
You must have "tray icon" activated to have balloon notifications working.
+
+ true
+
diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp
index 1faad8881..e5c144351 100755
--- a/src/librssguard/miscellaneous/application.cpp
+++ b/src/librssguard/miscellaneous/application.cpp
@@ -199,6 +199,16 @@ bool Application::isAlreadyRunning() {
<< Application::arguments().mid(1)).join(ARGUMENTS_LIST_SEPARATOR));
}
+QStringList Application::builtinSounds() const {
+ auto builtin_sounds = QDir(SOUNDS_BUILTIN_DIRECTORY).entryInfoList(QDir::Filter::Files, QDir::SortFlag::Name);
+ auto iter = boolinq::from(builtin_sounds).select([](const QFileInfo& i) {
+ return i.absoluteFilePath();
+ }).toStdList();
+ auto descs = FROM_STD_LIST(QStringList, iter);
+
+ return descs;
+}
+
FeedReader* Application::feedReader() {
return m_feedReader;
}
diff --git a/src/librssguard/miscellaneous/application.h b/src/librssguard/miscellaneous/application.h
index b12900039..b73bd8632 100755
--- a/src/librssguard/miscellaneous/application.h
+++ b/src/librssguard/miscellaneous/application.h
@@ -52,6 +52,8 @@ class RSSGUARD_DLLSPEC Application : public SingleApplication {
bool isAlreadyRunning();
+ QStringList builtinSounds() const;
+
FeedReader* feedReader();
void setFeedReader(FeedReader* feed_reader);