From 1e8c34f69d7e75916d9e2d9092996bbb501190af Mon Sep 17 00:00:00 2001 From: olf Date: Tue, 13 Feb 2024 16:40:41 +0100 Subject: [PATCH 01/13] [README.md] Link to issue #62 "internet radio" --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d7691ed..a9556d6 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@
#### Features: -- ** +- *A pull request for [the README.md](https://github.com/sailfishos-applications/flowplayer/blob/devel/README.md) which provides a list of features will be much appreciated.* -Note that the ability to ... may be broken (this is [known for XXX](https://github.com/sailfishos-applications/flowplayer/issues/) ‒ currently nothing) due to API changes in recent SailfishOS releases.
+Note that the functionality and / or ability to … may be broken (this is [known for internet radio](https://github.com/sailfishos-applications/flowplayer/issues/62)) due to API changes in recent SailfishOS releases.
Pull requests with fixes, improvements and enhancements are welcome!
From 9d26e8bed335b84b8295fe0fd65a2e77e9cfca31 Mon Sep 17 00:00:00 2001 From: olf Date: Tue, 13 Feb 2024 21:15:04 +0100 Subject: [PATCH 02/13] [AboutPage.qml] Use better link to the translation README --- qml/pages/AboutPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/AboutPage.qml b/qml/pages/AboutPage.qml index 030efcb..271983c 100644 --- a/qml/pages/AboutPage.qml +++ b/qml/pages/AboutPage.qml @@ -99,7 +99,7 @@ Page { Label { text: colored + - "" + + "" + "Translations README" onLinkActivated: Qt.openUrlExternally(link) font.pixelSize: Theme.fontSizeLarge From a5c5c228730c77b4fae0299b92ed053b56d52c71 Mon Sep 17 00:00:00 2001 From: olf Date: Thu, 15 Feb 2024 05:03:46 +0100 Subject: [PATCH 03/13] [flowplayer.spec] Add `smokku` to developers --- rpm/flowplayer.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec index 4de9052..c387520 100644 --- a/rpm/flowplayer.spec +++ b/rpm/flowplayer.spec @@ -73,7 +73,7 @@ Categories: - Player - Qt - Viewer -DeveloperName: Matias Perez (CepiPerez), olf (Olf0), Damien Caliste (dcaliste) +DeveloperName: CepiPerez, dcaliste, olf, smokku Custom: Repo: %{url} PackageIcon: %{url}/raw/master/flowplayer.png From eccc9801652cba2a110af575f89aa14495ef9cd5 Mon Sep 17 00:00:00 2001 From: David Llewellyn-Jones Date: Sat, 24 Feb 2024 03:45:49 +0000 Subject: [PATCH 04/13] [utils.cpp] Avoid creating QSettings too early (#65) If the QSettings are initialised statically they may fail to pick up the organization and application names set in main. The result is that the settings are written to and read from both ~~"~/.config/Unknown\Organization.conf" and~~ "~/.config/sailfishos-applications/flowplayer.conf". This can prevent the configured Music directories being read from successfully. P.S.: We can still move to a singleton object later if needed. --- src/utils.cpp | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index c13f28b..cfba209 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -12,8 +12,6 @@ QString albumArtUrl, albumArtArtist, albumArtAlbum; QString currentArtist, currentSong; QString searchServer; -QSettings settings; - //extern bool isDBOpened; Utils::Utils(QQuickItem *parent) @@ -442,68 +440,81 @@ void Utils::removePreview() void Utils::setSettings(QString set, QString val) { + QSettings settings; settings.setValue(set, val); settings.sync(); } QString Utils::readSettings(QString set, QString val) { + QSettings settings; return settings.value(set, val).toString(); } QString Utils::showReflection() { + QSettings settings; return settings.value("ShowReflection", "true").toString(); } QString Utils::viewmode() const { + QSettings settings; return settings.value("ViewMode", "grid").toString(); } QString Utils::paging() const { + QSettings settings; return settings.value("Paging", "multiple").toString(); } QString Utils::scrobble() const { + QSettings settings; return settings.value("Scrobble", "false").toString(); } QString Utils::order() const { + QSettings settings; return settings.value("SortOrder", "album").toString(); } QString Utils::lang() const { + QSettings settings; return settings.value("LastFMlang", "en").toString(); } QString Utils::updatestart() const { + QSettings settings; return settings.value("UpdateOnStartup", "no").toString(); } QString Utils::autosearch() const { + QSettings settings; return settings.value("AutoSearchLyrics", "yes").toString(); } QString Utils::cleanqueue() const { + QSettings settings; return settings.value("CleanQueue", "yes").toString(); } QString Utils::workoffline() const { + QSettings settings; return settings.value("WorkOffline", "no").toString(); } void Utils::setViewMode(QString val) { + QSettings settings; settings.setValue("ViewMode", val); settings.sync(); emit viewmodeChanged(); @@ -511,6 +522,7 @@ void Utils::setViewMode(QString val) void Utils::setPaging(QString val) { + QSettings settings; settings.setValue("Paging", val); settings.sync(); emit pagingChanged(); @@ -518,6 +530,7 @@ void Utils::setPaging(QString val) void Utils::setScrobble(QString val) { + QSettings settings; settings.setValue("Scrobble", val); settings.sync(); emit scrobbleChanged(); @@ -525,6 +538,7 @@ void Utils::setScrobble(QString val) void Utils::setOrder(QString val) { + QSettings settings; settings.setValue("SortOrder", val); settings.sync(); emit orderChanged(); @@ -532,6 +546,7 @@ void Utils::setOrder(QString val) void Utils::setLang(QString val) { + QSettings settings; settings.setValue("LastFMlang", val); settings.sync(); emit langChanged(); @@ -539,6 +554,7 @@ void Utils::setLang(QString val) void Utils::setUpdateStart(QString val) { + QSettings settings; settings.setValue("UpdateOnStartup", val); settings.sync(); emit updateChanged(); @@ -546,6 +562,7 @@ void Utils::setUpdateStart(QString val) void Utils::setAutoSearch(QString val) { + QSettings settings; settings.setValue("AutoSearchLyrics", val); settings.sync(); emit autosearchChanged(); @@ -553,6 +570,7 @@ void Utils::setAutoSearch(QString val) void Utils::setCleanQueue(QString val) { + QSettings settings; settings.setValue("CleanQueue", val); settings.sync(); emit queueChanged(); @@ -560,6 +578,7 @@ void Utils::setCleanQueue(QString val) void Utils::setWorkOffline(QString val) { + QSettings settings; settings.setValue("WorkOffline", val); settings.sync(); emit workofflineChanged(); @@ -567,11 +586,13 @@ void Utils::setWorkOffline(QString val) QString Utils::orientation() const { + QSettings settings; return settings.value("Orientation", "auto").toString(); } void Utils::setOrientation(QString val) { + QSettings settings; settings.setValue("Orientation", val); settings.sync(); emit orientationChanged(); @@ -586,6 +607,7 @@ QString Utils::plainLyrics(QString text) QString Utils::version() { + QSettings settings; return settings.value("Firmware", "PR10").toString(); } @@ -622,6 +644,7 @@ void Utils::removeAlbumArt() void Utils::getFolders() { + QSettings settings; QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); @@ -684,6 +707,7 @@ void Utils::getFolderItems(QString path) void Utils::addFolderToList(QString path) { + QSettings settings; QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); folders.append(path); @@ -695,6 +719,7 @@ void Utils::addFolderToList(QString path) void Utils::removeFolder(QString path) { + QSettings settings; QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); folders.removeAll(path); From 31e9ed6197521b00af1def9c6f73ef1435c4bac0 Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 07:00:45 +0100 Subject: [PATCH 05/13] [README.md] Add `llewelld` as contributor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9556d6..6a9650a 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ In 2023 [olf (Olf0)](https://github.com/Olf0) overhauled infrastructure aspects, [Matias Perez (CepiPerez)](https://github.com/CepiPerez) #### Contributors - [Damien Caliste (dcaliste)](https://github.com/dcaliste) +- [David Llewellyn-Jones (llewelld / flypig)](https://github.com/llewelld) - [olf (Olf0)](https://github.com/Olf0) - [Tomasz Sterna (smokku)](https://github.com/smokku)
From a7272d8999402738d6d0d47195f0abcff35e6ffb Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 07:03:55 +0100 Subject: [PATCH 06/13] [AboutPage.qml] Add `llewelld` as contributor --- qml/pages/AboutPage.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qml/pages/AboutPage.qml b/qml/pages/AboutPage.qml index 271983c..851da31 100644 --- a/qml/pages/AboutPage.qml +++ b/qml/pages/AboutPage.qml @@ -80,7 +80,8 @@ Page { color: Theme.secondaryColor text: "(C) 2022-2024 olf (Olf0)" + "
" + "(C) 2023, 2024 Damien Caliste (dcaliste)" + "
" + - "(C) 2024 Tomasz Sterna (smokku)" + "(C) 2024 Tomasz Sterna (smokku)" + "
" + + "(C) 2024 David Llewellyn-Jones (llewelld / flypig)" font.pixelSize: Theme.fontSizeSmall } From eb0198f89128aa2a87d26aeebe50d33278665bd7 Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 07:06:18 +0100 Subject: [PATCH 07/13] [flowplayer.spec] Add `llewelld` rsp. `flypig` as contributor --- rpm/flowplayer.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec index c387520..a4372fb 100644 --- a/rpm/flowplayer.spec +++ b/rpm/flowplayer.spec @@ -73,7 +73,7 @@ Categories: - Player - Qt - Viewer -DeveloperName: CepiPerez, dcaliste, olf, smokku +DeveloperName: CepiPerez, olf, dcaliste, smokku, flypig Custom: Repo: %{url} PackageIcon: %{url}/raw/master/flowplayer.png From ba3a5bce63471598a1811f604af0c2e94dff87c0 Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 07:44:02 +0100 Subject: [PATCH 08/13] Add social media icons (#66) --- .../icons/social-media/flowplayer_122x122.png | Bin 0 -> 11450 bytes .../icons/social-media/flowplayer_216x108.png | Bin 0 -> 9045 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .xdata/icons/social-media/flowplayer_122x122.png create mode 100644 .xdata/icons/social-media/flowplayer_216x108.png diff --git a/.xdata/icons/social-media/flowplayer_122x122.png b/.xdata/icons/social-media/flowplayer_122x122.png new file mode 100644 index 0000000000000000000000000000000000000000..f950eebcf326ac337d62d66b99a6b614aa061c40 GIT binary patch literal 11450 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 literal 0 HcmV?d00001 From 46e320e7949e981ec9670a1100bd00e3ec6aae23 Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 08:14:31 +0100 Subject: [PATCH 09/13] Update flowplayer.changes --- rpm/flowplayer.changes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rpm/flowplayer.changes b/rpm/flowplayer.changes index 9d3dcb0..aefb76b 100644 --- a/rpm/flowplayer.changes +++ b/rpm/flowplayer.changes @@ -1,6 +1,6 @@ -* Sat Feb 10 2024 olf - 0.3.3 +* Sat Feb 24 2024 olf - 0.3.3 - Slightly overhaul `AboutPage.qml` (#58, #59) -- +- Avoid creating QSettings too early (#65) by @llewelld, closes issue #64 * Thu Feb 08 2024 olf - 0.3.2 - Use Sailfish.Pickers.FolderPickerPage to configure music directories (#33) by @smokku @@ -11,8 +11,8 @@ * Sun Feb 04 2024 olf - 0.3.1 - Add missing QML dependencies (#27, #28) -- Fix various ways of album cover download (#31) by @dcaliste (closes issue #30) -- Use version number from the RPM spec file (#32) by @dcaliste (closes issue #29) +- Fix various ways of album cover download (#31) by @dcaliste, closes issue #30 +- Use version number from the RPM spec file (#32) by @dcaliste, closes issue #29 - Fix building at SFOS-OBS (#40), closes issue #39 * Tue Dec 05 2023 olf - 0.3.0 From a94a73d69299d284fb2ea05e2f64c5504e1e71cf Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 12:07:11 +0100 Subject: [PATCH 10/13] [flowplayer.spec] Stick to own versioning conventions --- rpm/flowplayer.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec index a4372fb..ec89e9d 100644 --- a/rpm/flowplayer.spec +++ b/rpm/flowplayer.spec @@ -21,7 +21,7 @@ Version: 0.3.3 # build at GitHub and OBS, when configured accordingly; mind the sorting # (`adud` < `alpha`). For details and reasons, see # https://github.com/storeman-developers/harbour-storeman/wiki/Git-tag-format -Release: 1 +Release: release1 # The Group tag should comprise one of the groups listed here: # https://github.com/mer-tools/spectacle/blob/master/data/GROUPS Group: Applications/Multimedia From a8295f5572a569f36e69b9f918a7023a36e72b48 Mon Sep 17 00:00:00 2001 From: olf Date: Sat, 24 Feb 2024 17:37:05 +0100 Subject: [PATCH 11/13] =?UTF-8?q?[flowplayer.spec]=20Let=20`TS`=E2=86=92`Q?= =?UTF-8?q?M`=20file=20translation=20work=20on=20OBS=20(#68)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [flowplayer.spec] Let `TS`→`QM` file translation work on OBS Fixes [common issue \#68](https://github.com/sailfishos-applications/filecase/issues/68). * Update `flowplayer.changes` accordingly --- rpm/flowplayer.changes | 7 ++++--- rpm/flowplayer.spec | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/rpm/flowplayer.changes b/rpm/flowplayer.changes index aefb76b..66ffba1 100644 --- a/rpm/flowplayer.changes +++ b/rpm/flowplayer.changes @@ -1,11 +1,12 @@ * Sat Feb 24 2024 olf - 0.3.3 - Slightly overhaul `AboutPage.qml` (#58, #59) - Avoid creating QSettings too early (#65) by @llewelld, closes issue #64 +- Let `TS`→`QM` file translation work on OBS (#68), fixes a common issue * Thu Feb 08 2024 olf - 0.3.2 -- Use Sailfish.Pickers.FolderPickerPage to configure music directories (#33) by @smokku -- Enhance AboutPage.qml (#37, #44) -- Translation updates for DE & SV (#45, #46) +- Use `Sailfish.Pickers.FolderPickerPage` to configure music directories (#33) by @smokku +- Enhance `AboutPage.qml` (#37, #44) +- Translation updates for DE & SV (#45, #46) by @Olf0 & @eson57 - Try harder to get rid of hardcoded home paths (#48) by @dcaliste - Change the organisation name (#51) by @dcaliste diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec index ec89e9d..43ca8bb 100644 --- a/rpm/flowplayer.spec +++ b/rpm/flowplayer.spec @@ -51,6 +51,7 @@ BuildRequires: pkgconfig(Qt5Quick) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(libresource) BuildRequires: pkgconfig(taglib) +BuildRequires: qt5-qttools-linguist BuildRequires: desktop-file-utils # This description section includes metadata for SailfishOS:Chum, see From 6c9b3216db2c8159b11d50d5295ddd75e17570b9 Mon Sep 17 00:00:00 2001 From: Damien Caliste Date: Mon, 26 Feb 2024 17:21:57 +0100 Subject: [PATCH 12/13] Don't use static QSettings in playlist.cpp (#69) --- src/playlist.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/playlist.cpp b/src/playlist.cpp index 84d60a4..dab9d31 100644 --- a/src/playlist.cpp +++ b/src/playlist.cpp @@ -5,7 +5,6 @@ #include #include -QSettings sets; QList randomlist; int currentItem, currentRandom; @@ -25,12 +24,14 @@ int Playlist::current() QString Playlist::active() const { + QSettings sets; QString t = sets.value("Active", "false").toString(); return t; } QString Playlist::unknown() const { + QSettings sets; QString t = sets.value("Unknown", "false").toString(); return t; } @@ -415,6 +416,7 @@ void Playlist::changeUnknown(bool active) { //qDebug() << "CHANGING UKNOWN: " << active; + QSettings sets; sets.setValue("Unknown", active); sets.sync(); } @@ -423,6 +425,7 @@ void Playlist::changeMode(QString mode) { //qDebug() << "CHANGING MODE: " << mode; + QSettings sets; sets.setValue("Mode", mode); sets.sync(); } From 39046aa3cceacb0d8cb91c9b6bb9803e4348d328 Mon Sep 17 00:00:00 2001 From: olf Date: Mon, 26 Feb 2024 17:28:08 +0100 Subject: [PATCH 13/13] Update flowplayer.changes to release v0.3.3 --- rpm/flowplayer.changes | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpm/flowplayer.changes b/rpm/flowplayer.changes index 66ffba1..d3ac1a1 100644 --- a/rpm/flowplayer.changes +++ b/rpm/flowplayer.changes @@ -1,6 +1,6 @@ -* Sat Feb 24 2024 olf - 0.3.3 +* Mon Feb 26 2024 olf - 0.3.3 - Slightly overhaul `AboutPage.qml` (#58, #59) -- Avoid creating QSettings too early (#65) by @llewelld, closes issue #64 +- Avoid creating QSettings too early (#65, #69) by @llewelld & @dcaliste, closes issue #64 - Let `TS`→`QM` file translation work on OBS (#68), fixes a common issue * Thu Feb 08 2024 olf - 0.3.2