diff --git a/.xdata/icons/social-media/flowplayer_122x122.png b/.xdata/icons/social-media/flowplayer_122x122.png
new file mode 100644
index 0000000..f950eeb
Binary files /dev/null and b/.xdata/icons/social-media/flowplayer_122x122.png differ
diff --git a/.xdata/icons/social-media/flowplayer_216x108.png b/.xdata/icons/social-media/flowplayer_216x108.png
new file mode 100644
index 0000000..14b1b32
Binary files /dev/null and b/.xdata/icons/social-media/flowplayer_216x108.png differ
diff --git a/README.md b/README.md
index d7691ed..6a9650a 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!
@@ -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)
diff --git a/qml/pages/AboutPage.qml b/qml/pages/AboutPage.qml
index 030efcb..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
}
@@ -99,7 +100,7 @@ Page {
Label {
text: colored +
- "" +
+ "" +
"Translations README"
onLinkActivated: Qt.openUrlExternally(link)
font.pixelSize: Theme.fontSizeLarge
diff --git a/rpm/flowplayer.changes b/rpm/flowplayer.changes
index 9d3dcb0..d3ac1a1 100644
--- a/rpm/flowplayer.changes
+++ b/rpm/flowplayer.changes
@@ -1,18 +1,19 @@
-* Sat Feb 10 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, #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
-- 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
* 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
diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec
index 4de9052..43ca8bb 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
@@ -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
@@ -73,7 +74,7 @@ Categories:
- Player
- Qt
- Viewer
-DeveloperName: Matias Perez (CepiPerez), olf (Olf0), Damien Caliste (dcaliste)
+DeveloperName: CepiPerez, olf, dcaliste, smokku, flypig
Custom:
Repo: %{url}
PackageIcon: %{url}/raw/master/flowplayer.png
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();
}
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);