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);