Compare commits

...

2 Commits

Author SHA1 Message Date
60c8678eb4 amarok: update to 3.1.0 2024-08-05 12:25:16 +06:00
5104830c58 libmygpo-qt: import from srpm 2024-08-05 11:38:46 +06:00
6 changed files with 2295 additions and 0 deletions

View File

@ -0,0 +1,227 @@
# TODO: upstream qt4 support is deprecated, conditionalize qt4 support
# in hopes of removing in soonish
%if 0%{?rhel} <= 7
%global qt4 1
%endif
Name: libmygpo-qt
Summary: Qt4 Library that wraps the gpodder.net Web API
Version: 1.1.0
Release: 3%{?dist}
License: LGPLv2+
#Url: http://wiki.gpodder.org/wiki/Libmygpo-qt
URL: https://github.com/gpodder/libmygpo-qt/
Source0: https://github.com/gpodder/libmygpo-qt/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Network)
%if 0%{?qt4}
BuildRequires: automoc4
BuildRequires: pkgconfig(QJson)
BuildRequires: pkgconfig(QtCore)
BuildRequires: pkgconfig(QtNetwork)
BuildRequires: pkgconfig(QtTest)
%endif
%description
libmygpo-qt is a Qt4 Library that wraps the gpodder.net Web API,
http://wiki.gpodder.org/wiki/Web_Services/API_2
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{summary}.
%package -n libmygpo-qt5
Summary: Qt5 Library that wraps the gpodder.net Web API
%description -n libmygpo-qt5
libmygpo-qt5 is a Qt5 Library that wraps the gpodder.net Web API,
http://wiki.gpodder.org/wiki/Web_Services/API_2
%package -n libmygpo-qt5-devel
Summary: Development files for libmygpo-qt5
Requires: libmygpo-qt5%{?_isa} = %{version}-%{release}
%description -n libmygpo-qt5-devel
%{summary}.
%prep
%autosetup -p1
%build
%if 0%{?qt4}
%global _vpath_builddir %{_target_platform}
%{cmake} \
-DBUILD_WITH_QT4:BOOL=ON \
-DINCLUDE_INSTALL_DIR:PATH=%{_qt4_headerdir}/mygpo-qt \
-DLIB_INSTALL_DIR:PATH=%{_qt4_libdir}/mygpo-qt
%cmake_build
%endif
%global _vpath_builddir %{_target_platform}-qt5
%{cmake} \
-DBUILD_WITH_QT4:BOOL=OFF \
-DINCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir}/mygpo-qt \
-DLIB_INSTALL_DIR:PATH=%{_qt5_libdir}/mygpo-qt
%cmake_build
%install
%if 0%{?qt4}
%global _vpath_builddir %{_target_platform}
%cmake_install
%endif
%global _vpath_builddir %{_target_platform}-qt5
%cmake_install
%check
%if 0%{?qt4}
export PKG_CONFIG_PATH=%{buildroot}%{_qt4_libdir}/pkgconfig
test "$(pkg-config --modversion libmygpo-qt)" = "%{version}"
export CTEST_OUTPUT_ON_FAILURE=1
# test 2 currently fails on i686, poke upstream -- rex
make test -C %{_target_platform} ||:
%endif
export PKG_CONFIG_PATH=%{buildroot}%{_qt5_libdir}/pkgconfig
test "$(pkg-config --modversion libmygpo-qt5)" = "%{version}"
export CTEST_OUTPUT_ON_FAILURE=1
# test 2 currently fails on i686, poke upstream -- rex
make test -C %{_target_platform}-qt5 ||:
%if 0%{?qt4}
%ldconfig_scriptlets
%files
%doc AUTHORS LICENSE README
%{_qt4_libdir}/libmygpo-qt.so.1*
%files devel
%{_qt4_headerdir}/mygpo-qt/
%{_qt4_libdir}/libmygpo-qt.so
%{_qt4_libdir}/pkgconfig/libmygpo-qt.pc
%{_qt4_libdir}/cmake/mygpo-qt/
%endif
%ldconfig_scriptlets -n libmygpo-qt5
%files -n libmygpo-qt5
%doc AUTHORS LICENSE README
%{_qt5_libdir}/libmygpo-qt5.so.1*
%files -n libmygpo-qt5-devel
%{_qt5_headerdir}/mygpo-qt/
%{_qt5_libdir}/libmygpo-qt5.so
%{_qt5_libdir}/pkgconfig/libmygpo-qt5.pc
%{_qt5_libdir}/cmake/mygpo-qt5/
%changelog
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Oct 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.1.0-1
- 1.1.0
- use %%make_build %%ldconfig_scriptlets
- make qt5 unconditional
- conditionalize qt4 support (which is deprecated upstream)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.0.8-3
- Rebuilt for GCC 5 C++11 ABI change
* Thu Oct 09 2014 Rex Dieter <rdieter@fedoraproject.org> 1.0.8-2
- qt5-devel: fix typo in base pkg dependency
* Wed Oct 01 2014 Rex Dieter <rdieter@fedoraproject.org> 1.0.8-1
- 1.0.8
- include path for cmake and chkconfig are wrong for libmygpo-qt (#1148246)
- use github-hosted sources
- Qt5 support: libmygpo-qt5,libmy-qt5-devel subpkgs
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Apr 13 2013 Rex Dieter <rdieter@fedoraproject.org> 1.0.7-1
- 1.0.7
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Nov 27 2012 Rex Dieter <rdieter@fedoraproject.org> 1.0.6-3
- rebuild (qjson)
* Fri Nov 23 2012 Rex Dieter <rdieter@fedoraproject.org> 1.0.6-2
- rebuild (qjson)
* Sat Oct 13 2012 Rex Dieter <rdieter@fedoraproject.org> 1.0.6-1
- 1.0.6
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-3
- Rebuilt for c++ ABI breakage
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Nov 09 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.5-1
- 1.0.5
* Wed Sep 14 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.4-1
- 1.0.4
* Mon May 23 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.3-1
- 1.0.3
* Fri May 20 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.2-2
- drop kde deps/macros, this is a qt-only library
* Tue May 10 2011 Rex Dieter <rdieter@fedoraproject.org> 1.0.2-1
- 1.0.2 first try

View File

@ -0,0 +1,773 @@
%global __provides_exclude_from ^%{_kf5_qmldir}/org/kde/amarok/.*\.so$
Name: amarok
Summary: Media player
Version: 3.1.0
Release: 1%{?dist}
# KDE e.V. may determine that future GPL versions are accepted
License: GPL-2.0-only or GPL-3.0-only
Url: https://amarok.kde.org/
Source0: https://download.kde.org/%{stable_kf5}/amarok/%{version}/amarok-%{version}.tar.xz
# Needed because not every distro installs mygpo-qt5 under the same path.
# For instance, Fedora namespaces qt5
Patch10: fix-mygpo-qt5-compilation.patch
BuildRequires: desktop-file-utils
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: kf5-rpm-macros
BuildRequires: libappstream-glib
BuildRequires: perl-generators
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5DBus)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5QuickWidgets)
BuildRequires: cmake(Qt5Qml)
BuildRequires: cmake(Qt5Sql)
BuildRequires: cmake(Qt5Svg)
BuildRequires: cmake(Qt5Test)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5Xml)
BuildRequires: cmake(Qt5QuickControls2)
%ifarch %{qt5_qtwebengine_arches}
BuildRequires: cmake(Qt5WebEngine)
%endif
BuildRequires: cmake(Qt5UiTools)
BuildRequires: cmake(KF5Archive)
BuildRequires: cmake(KF5Attica)
BuildRequires: cmake(KF5Codecs)
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5ConfigWidgets)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5Crash)
BuildRequires: cmake(KF5DBusAddons)
BuildRequires: cmake(KF5Declarative)
BuildRequires: cmake(KF5DNSSD)
BuildRequires: cmake(KF5DocTools)
BuildRequires: cmake(KF5GlobalAccel)
BuildRequires: cmake(KF5GuiAddons)
BuildRequires: cmake(KF5I18n)
BuildRequires: cmake(KF5IconThemes)
BuildRequires: cmake(KF5KCMUtils)
BuildRequires: cmake(KF5KIO)
BuildRequires: cmake(KF5NewStuff)
BuildRequires: cmake(KF5Notifications)
BuildRequires: cmake(KF5Package)
BuildRequires: cmake(KF5Solid)
BuildRequires: cmake(KF5TextEditor)
BuildRequires: cmake(KF5ThreadWeaver)
BuildRequires: cmake(KF5WidgetsAddons)
BuildRequires: cmake(KF5WindowSystem)
BuildRequires: cmake(KF5Kirigami2)
# gpodder, lastfm
BuildRequires: cmake(KF5Wallet)
BuildRequires: pkgconfig(taglib) >= 1.12
BuildRequires: pkgconfig(taglib-extras) >= 1.0.1
BuildRequires: cmake(Phonon4Qt5)
BuildRequires: pkgconfig(libmariadb)
BuildRequires: pkgconfig(mariadb)
BuildRequires: mariadb-embedded-devel
BuildRequires: ffmpeg-devel
BuildRequires: fftw-devel
%if 0%{?fedora} || 0%{?epel}
# dependencies not available in RHEL or EPEL
BuildRequires: liblastfm-qt5-devel
BuildRequires: libofa-devel
BuildRequires: cmake(Mygpo-qt5)
BuildRequires: pkgconfig(libmtp) >= 0.3.0
BuildRequires: pkgconfig(libgpod-1.0) >= 0.7.0
# only used together with libgpod
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
# MP3Tunes
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: libgcrypt-devel
BuildRequires: pkgconfig(loudmouth-1.0)
BuildRequires: glib2-devel
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-utils = %{version}-%{release}
Requires: kf5-filesystem
# QML module dependencies
Requires: kf5-kirigami2%{?_isa}
Requires: qt5-qtquickcontrols2%{?_isa}
Recommends: kf5-audiocd-kio
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
Recommends: kio-extras-kf5
%else
Recommends: kio-extras
%endif
%ifarch %{qt5_qtwebengine_arches}
# Wikipedia QML plugin
Recommends: qt5-qtwebengine%{?_isa}
%endif
%if 0%{?fedora}
Recommends: ifuse
Recommends: media-player-info
%endif
Suggests: ffmpeg
%description
Amarok is a multimedia player with:
- fresh playlist concept, very fast to use, with drag and drop
- plays all formats supported by the various engines
- audio effects, like reverb and compressor
- compatible with the .m3u and .pls formats for playlists
- nice GUI, integrates into the KDE look, but with a unique touch
%package libs
Summary: Runtime libraries for %{name}
%description libs
%{summary}.
%package doc
Summary: Application handbook, documentation, translations
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
%{summary}.
%prep
%autosetup -p1
sed -i -e 's|/usr/bin/mysqld|%{_libexecdir}/mysqld|' src/importers/amarok/AmarokConfigWidget.cpp
%build
%if 0%{?flatpak}
# find /app-built libmygpo-qt headers
CXXFLAGS="$CXXFLAGS -I%{_includedir}/qt5"
%endif
# force non-use of MYSQLCONFIG, to avoid (potential bogus) stuff from: mysql_config --libmysqld-libs
%{cmake_kf5} \
-DMYSQLCONFIG_EXECUTABLE:BOOL=OFF
%{cmake_build}
%install
%cmake_install
#find_lang %{name} --all-name --with-qt --with-html
%check
appstream-util validate-relax --nonet %{buildroot}%{_kf5_metainfodir}/org.kde.%{name}.appdata.xml
desktop-file-validate %{buildroot}%{_kf5_datadir}/applications/org.kde.%{name}*.desktop
%files
#-f amarok.lang
%doc AUTHORS ChangeLog README
%license COPYING
%{_qt5_settingsdir}/amarok_homerc
%{_kf5_bindir}/amarok
%{_kf5_bindir}/amarok_afttagger
%{_kf5_bindir}/amarokcollectionscanner
%{_kf5_datadir}/amarok/
%{_kf5_datadir}/applications/org.kde.amarok.desktop
%{_kf5_datadir}/applications/org.kde.amarok_containers.desktop
%{_kf5_datadir}/config.kcfg/amarokconfig.kcfg
%{_kf5_datadir}/dbus-1/interfaces/*.xml
%{_kf5_datadir}/dbus-1/services/org.kde.amarok.service
%{_kf5_datadir}/icons/hicolor/*/*/*
%{_kf5_datadir}/knotifications5/amarok.notifyrc
%{_kf5_datadir}/kpackage/amarok/org.kde.amarok.*
%{_kf5_datadir}/kpackage/genericqml/org.kde.amarok.context
%{_kf5_datadir}/kservices5/ServiceMenus/amarok_append.desktop
%{_kf5_datadir}/kservices5/amarok*
%{_kf5_datadir}/kservicetypes5/amarok*
%{_kf5_datadir}/solid/actions/amarok-play-audiocd.desktop
%{_kf5_metainfodir}/org.kde.amarok.*.xml
%{_kf5_qmldir}/org/kde/amarok
%{_kf5_qtplugindir}/amarok_collection-audiocdcollection.so
%{_kf5_qtplugindir}/amarok_collection-daapcollection.so
%{_kf5_qtplugindir}/amarok_collection-ipodcollection.so
%{_kf5_qtplugindir}/amarok_collection-mtpcollection.so
%{_kf5_qtplugindir}/amarok_collection-mysqlcollection.so
%{_kf5_qtplugindir}/amarok_collection-playdarcollection.so
%{_kf5_qtplugindir}/amarok_collection-umscollection.so
%{_kf5_qtplugindir}/amarok_importer-amarok.so
%{_kf5_qtplugindir}/amarok_importer-banshee.so
%{_kf5_qtplugindir}/amarok_importer-clementine.so
%{_kf5_qtplugindir}/amarok_importer-fastforward.so
%{_kf5_qtplugindir}/amarok_importer-itunes.so
%{_kf5_qtplugindir}/amarok_importer-rhythmbox.so
%{_kf5_qtplugindir}/amarok_service_*.so
%{_kf5_qtplugindir}/amarok_storage-mysqlestorage.so
%{_kf5_qtplugindir}/amarok_storage-mysqlserverstorage.so
%{_kf5_qtplugindir}/kcm_amarok_service*.so
%{_docdir}/HTML/*
%{_kf5_datadir}/locale/*
%files libs
%{_kf5_libdir}/libamarokcore.so.1*
%{_kf5_libdir}/libamaroklib.so.1*
%{_kf5_libdir}/libamarokshared.so.1*
%{_kf5_libdir}/libamarok-sqlcollection.so.1*
%{_kf5_libdir}/libamarok-transcoding.so.1*
%{_kf5_libdir}/libampache_account_login.so
%{_kf5_libdir}/libamarok-sqlcollection.so
%{_kf5_libdir}/libamarok-transcoding.so
%{_kf5_libdir}/libamarokcore.so
%{_kf5_libdir}/libamaroklib.so
%{_kf5_libdir}/libamarokpud.so
%{_kf5_libdir}/libamarokshared.so
%{_kf5_libdir}/libamarok_service_lastfm_config.so
%{_kf5_libdir}/libgpodder_service_config.so
%changelog
* Mon Aug 5 2024 Raven <raven@sysadmins.ws> - 3.1.0-1
- update to 3.1.0
* Tue Jun 4 2024 Raven <raven@sysadmins.ws> - 3.0.1-1
- update to 3.0.1
* Tue Apr 30 2024 Raven <raven@sysadmins.ws> - 3.0.0-1
- update to 3.0.0
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.71^git20231231.387c30d-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.71^git20231231.387c30d-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Jan 02 2024 Yaakov Selkowitz <yselkowitz@fedoraproject.org> - 2.9.71^20231231git387c30d-1
- Update to KF5-based git snapshot
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Honza Horak <hhorak@redhat.com> - 2.9.0-10
- Use correct name for the mariadb package
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-9
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 23 2020 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-7
- drop loudmouth support f33+
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Apr 22 2019 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-4
- rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Mar 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-1
- amarok-2.9.0
* Wed Feb 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-19
- use %%ldconfig_scriptlets, %%_kf5_metainfodir, BR: gcc-c++
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.90-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.8.90-17
- Remove obsolete scriptlets
* Tue Oct 17 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-16
- amzdownloader.desktop: NoDisplay=true
* Thu Oct 05 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-15
- use mariadb-connector-c-devel on f28+ (#1494091)
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.90-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.90-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Apr 03 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-11
- pul in more upstream fixes
* Thu Feb 23 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-10
- Recommends: audiocd-kio kio_mtp kio-upnp-ms
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.90-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sun Aug 07 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-8
- pull in upstream fixes
* Sat Jul 23 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-7
- fix mpris support (kde#365275)
* Wed Jun 01 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-6
- pull in upstream fixes, fix build with gcc6 (kde#363054)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.90-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Dec 29 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.90-4
- add support for kf5 solid/actions,ServiceMenus
* Thu Dec 10 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.90-3
- workaround 'mysql_config --libmysqld-libs' madness (#1290517)
* Thu Dec 10 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.90-2
- make kde-runtime dep unversioned, use %%license
* Fri Sep 11 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.90-1
- 2.8.90
* Fri Aug 28 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-19
- backport upstream FindTaglib.cmake fix
* Mon Jun 29 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-18
- Amarok has an unmet dependency on rhel7: audiocd-kio (#1232818)
* Sun Jun 28 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-17
- pull in upstream fixes for wikipedia plugin (kde#349313)
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.8.0-15
- Rebuilt for GCC 5 C++11 ABI change
* Fri Feb 20 2015 Rex Dieter <rdieter@fedoraproject.org> - 2.8.0-14
- backport gl crasher workaround (kde#323635)
- deprecate -nepomukcollection (f22+)
* Sat Nov 08 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-13
- use fresher upstream appdata (translations mostly)
* Fri Nov 07 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-12
- pull in upstream (master/ branch) appdata
* Sat Oct 18 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-11
- drop Requires: moodbar (which still pulls in gstreamer-0.10)
* Wed Oct 01 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-10
- rebuild (libmygpo-qt test)
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Jul 08 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-8
- scriptet polish
* Thu Jul 03 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-7
- optimize mimeinfo scriplet
* Thu Jun 19 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-6
- work on epel7 support, BR: kdelibs4-webkit-devel
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Apr 14 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-4
- -nepomukcollection subpkg
* Tue Aug 27 2013 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-3.1
- BR: libmygpo-qt-devel >= 1.0.7
* Sat Aug 17 2013 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-3
- Requires: moodbar
* Fri Aug 16 2013 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-2
- (Build)Requires: clamz
* Thu Aug 15 2013 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-1
- 2.8.0
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 2.7.90-2
- Perl 5.18 rebuild
* Thu Aug 01 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.90-1
- 2.7.90
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.7.1-3
- Perl 5.18 rebuild
* Fri May 17 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.1-2
- drop already-included qtwebkit/wikipedia fixer
* Thu May 16 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.1-1
- 2.7.1
* Mon May 13 2013 Rex Dieter <rdieter@fedoraproject.org> - 2.7.0-4
- backport a few upstream fixes, in particular...
- workaround for qtwebkit/wikipedia related crashes (kde #319371)
* Sat Feb 02 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.0-3
- rebuild (mariadb)
* Mon Jan 28 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.0-2
- Requires: kio_mtp, kio-upnp-ms
* Thu Jan 17 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.0-1
- 2.7.0
* Sat Dec 15 2012 Rex Dieter <rdieter@fedoraproject.org> - 2.6.90-2
- up build deps (nepomuk-core, liblastfm)
- changelog: prune, fix bad dates
* Fri Dec 14 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.90-1
- 2.6.90
* Tue Nov 27 2012 Jan Grulich <jgrulich@redhat.com> 2.6.0-7
- rebuild (qjson)
* Sat Nov 24 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-6
- rebuild (qjson)
* Tue Sep 11 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-5
- -doc: update summary to mention translations
* Fri Sep 7 2012 Dominique Bribanick <chepioq@gmail.com> 2.6.0-4
- add patch for french translation (#855655)
* Sat Aug 25 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-3
- Requires: kdemultimedia-kio_audiocd/audiocd-kio
* Wed Aug 22 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-2.1
- use liblastfm1 on f16/f17 too
* Sun Aug 12 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-2
- Requires: media-player-info
* Sat Aug 11 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.0-1
- 2.6.0
* Thu Aug 02 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.96-1
- 2.5.96 (2.6rc1)
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.90-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jul 16 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.90-5
- backport upstream commit to disable polling (kde#289462)
* Sat Jul 14 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.90-4
- update kdelibs/phonon dep versions
* Tue Jul 03 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.90-3
- add reviewboard patch to support liblastfm1
* Tue Jul 03 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.90-2
- rebuild (liblastfm)
* Wed May 30 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.90-1
- 2.5.90
* Wed Mar 21 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-9
- new iteration of proxy_loading patch (kde#295199)
* Tue Mar 13 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-8
- Load all XSPF tracks (kde#295199)
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-7
- Rebuilt for c++ ABI breakage
* Sun Jan 29 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> 2.5.0-6
- help: invoke a browser on the online UserBase doc if amarok-doc not installed
* Fri Jan 27 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-5
- make -doc only handbook, put translations back in main pkg
* Fri Jan 27 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-4
- -doc subpkg for large'ish application handbook and translations
* Fri Jan 27 2012 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-3
- fix context view when on kde48 (kde#290123)
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Dec 16 2011 Rex Dieter <rdieter@fedoraproject.org> 2.5.0-1
- 2.5.0
* Mon Nov 14 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.90-1
- 2.4.90
* Wed Nov 09 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.3-4
- pkgconfig-style deps
- drop extraneous/old BR's
* Mon Sep 19 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.3-3
- Wikipedia applet crashes (kde#279813)
* Fri Sep 16 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.3-2
- re-enable libgpod support inadvertantly lost in 2.4.1.90-1
* Sat Jul 30 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.3-1
- 2.4.3
* Sun Jul 24 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.2-2
- don't query kwallet for lastfm credentials on every track change (kde#278177)
* Fri Jul 22 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.2-1
- 2.4.2
* Fri Jul 08 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.1.90-1
- 2.4.1.90
- drop no-longer-needed %%ifarch s390 conditionals
* Fri Jun 10 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.1-4
- drop ancient Obsoletes
* Fri Jun 10 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.1-3
- rebuild (libmtp)
* Tue May 24 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.1-2
- BR: libmygpo-qt-devel
* Fri May 06 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.1-1
- 2.4.1 (final)
* Wed Mar 23 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.0.90-2
- rebuild (mysql)
* Mon Mar 21 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.0.90-1
- 2.4.1 beta1
* Wed Feb 09 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.0-3
- License: GPLv2 or GPLv3
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 11 2011 Rex Dieter <rdieter@fedoraproject.org> 2.4.0-1
- 2.4.0
- libmtp-hal dependency missing for amarok (#666173)
* Tue Dec 28 2010 Rex Dieter <rdieter@fedoraproject.org> 2.3.90-3
- rebuild (mysql)
* Tue Dec 07 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.90-2
- fixed missing libampache
* Mon Dec 06 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.90-1
- 2.3.90 (2.4beta1)
* Tue Nov 30 2010 Rex Dieter <rdieter@fedoraproject.org> 2.3.2-7
- recognize audio/flac mimetype too (kde#257488)
* Fri Nov 05 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.2-6
- rebuild for new libxml2
* Thu Nov 04 2010 Rex Dieter <rdieter@fedoraproject.org> 2.3.2-5
- appletsize patch
- fix/improve ipod3 support patch
- another collectionscanner patch
* Wed Sep 29 2010 jkeating - 2.3.2-4
- Rebuilt for gcc bug 634757
* Fri Sep 24 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.2-3
- added patch to fix scanning qt bug/regression
* Mon Sep 20 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.2-2
- added patch to fix BPM tags in flac
* Thu Sep 16 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.2-1
- amarok-2.3.2
* Thu Sep 16 2010 Dan Horák <dan[at]danny.cz> - 2.3.1.90-3
- no libgpod on s390(x)
* Mon Aug 16 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.1.90-2
- fix/patch installation of amarok handbooks
* Mon Aug 16 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.1.90-1
- amarok-2.3.1.90 (2.3.2 beta1)
* Fri Jul 09 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.1-2
- No Notification Area icon for non-KDE desktops (kde#232578,rh#603336)
* Fri May 28 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.1-1
- amarok-2.3.1
* Sat Apr 17 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.0.90-1
- amarok-2.3.0.90
* Thu Mar 25 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.0-5
- fix mp3 support logic
* Mon Mar 22 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.0-4
- rebuild (libgpod)
* Mon Mar 22 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.0-3
- workaround info applet crasher (kde#227639,kde#229756)
* Thu Mar 11 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.3.0-2
- fix Source0 URL
- -libs: drop unused/extraneous kdelibs4 dep
* Thu Mar 11 2010 Thomas Janssen <thomasj@fedoraproject.org> 2.3.0-1
- amarok 2.3.0
* Sat Feb 13 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.2.2.90-1
- amarok-2.2.2.90 (2.3beta1)
* Thu Jan 28 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.2.2-4
- use %%{_kde4_version} provided elsewhere (kde-filesystem)
* Sun Jan 10 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.2.2-3
- collection scan crash patch, take 2 (kde#220532)
* Fri Jan 08 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.2.2-2
- collection scan crash patch (kde#220532)
* Tue Jan 05 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.2.2-1
- amarok-2.2.2
* Thu Dec 10 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.2.1.90-1
- amarok-2.2.1.90 (2.2.2 beta1)
* Mon Nov 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.2.1-3
- rebuild (for qt-4.6.0-rc1, f13+)
* Mon Nov 16 2009 Rex Dieter <rdieter@fedoraproject.org> 2.2.1-2
- playlist_default_layout_fix.diff (kde#211717)
* Wed Nov 11 2009 Rex Dieter <rdieter@fedoraproject.org> 2.2.1-1
- amarok-2.2.1
* Thu Oct 08 2009 Rex Dieter <rdieter@fedoraproject.org> 2.2.0-3
- upstream lyric.patch
* Fri Oct 02 2009 Rex Dieter <rdieter@fedoraproject.org> 2.2.0-2
- Requires: kdebase-runtime (need kio_trash, kcm_phonon, etc)
* Tue Sep 29 2009 Rex Dieter <rdieter@fedoraproject.org> 2.2.0-1
- amarok-2.2.0
* Wed Sep 23 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.90-2.20090923git
- 20090923git snapshot
* Mon Sep 21 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.90-1
- amarok-2.1.90 (2.2rc1)
* Thu Sep 17 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.85-2
- BR: taglib-devel >= 1.6, taglib-extras-devel >= 1.0
* Mon Sep 14 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.85-1
- amarok-2.1.85 (2.2beta2)
* Wed Sep 02 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.80-2
- another lyricwiki fix
* Wed Sep 02 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.80-1
- amarok-2.1.80 (2.2beta1)
- -libs subpkg
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.1-5
- rebuilt with new openssl
* Sat Aug 08 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.1-4
- lyricwiki patch (kdebug#202366)
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Jul 07 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.1-2
- Requires: qtscriptbindings%%{?_isa} (#510133)
* Fri Jun 12 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1.1-1
- amarok-2.1.1
* Sat May 30 2009 Rex Dieter <rdieter@fedoraproject.org> 2.1-1
- amarok-2.1
* Mon May 18 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.96-2.20090518
- 20090518svn snapshot
* Mon May 11 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.96-1
- amarok-2.9.96 (2.1 beta2)
- -utilities -> -utils
* Fri Apr 10 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.90-2
- -collectionscanner -> -utilities
* Fri Apr 10 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.90-1
- amarok-2.0.90 (amarok-2.1 beta1)
* Wed Apr 08 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.2-6
- fix lastfm (kdebug#188678, rhbz#494871)
- fix qtscriptgenerator/qtscriptbindings deps
* Tue Apr 07 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.2-5
- enable external qtscriptgenerator/qtscriptbindings
- optimize scriptlets
* Tue Mar 10 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.2-4
- Req: qtscriptgenerator (f11+) (not enabled, pending review)
- use desktop-file-validate
* Fri Mar 06 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.2-3
- add minimal qt4,kdelibs4 deps
* Wed Mar 04 2009 Rex Dieter <rdieter@fedoraproject.org> 2.0.2-1
- amarok-2.0.2
* Tue Feb 24 2009 Than Ngo <than@redhat.com> 2.0.1.1-6
- fix build issue against gcc-4.4
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Feb 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.0.1.1-4
- qt45 patch
* Fri Feb 20 2009 Todd Zullinger <tmz@pobox.com> - 2.0.1.1-3
- Rebuild against libgpod-0.7.0
- Drop gtk2-devel BR, libgpod properly requires that now
* Thu Jan 22 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.0.1.1-2
- respin (mysql)
* Fri Jan 09 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.0.1.1-1
- amarok-2.0.1.1
* Tue Jan 06 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.0.1-1
- amarok-2.0.1
* Tue Dec 09 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.0-2
- respin tarball
* Fri Dec 05 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.0-1
- amarok-2.0 (final, first cut)

View File

@ -0,0 +1,125 @@
diff --git a/src/services/gpodder/GpodderPodcastMeta.h b/src/services/gpodder/GpodderPodcastMeta.h
index abe2c9f2b6..8bd28f82c1 100644
--- a/src/services/gpodder/GpodderPodcastMeta.h
+++ b/src/services/gpodder/GpodderPodcastMeta.h
@@ -22,7 +22,7 @@
#include "core/playlists/PlaylistProvider.h"
#include "core/podcasts/PodcastMeta.h"
-#include <mygpo-qt5/ApiRequest.h>
+#include <mygpo-qt/ApiRequest.h>
namespace Podcasts {
diff --git a/src/services/gpodder/GpodderPodcastRequestHandler.h b/src/services/gpodder/GpodderPodcastRequestHandler.h
index c56ec1942f..2b65e5d5df 100644
--- a/src/services/gpodder/GpodderPodcastRequestHandler.h
+++ b/src/services/gpodder/GpodderPodcastRequestHandler.h
@@ -20,7 +20,7 @@
#define GPODDERPODCASTREQUESTHANDLER_H_
#include "GpodderServiceModel.h"
-#include <mygpo-qt5/PodcastList.h>
+#include <mygpo-qt/PodcastList.h>
#include <QModelIndex>
diff --git a/src/services/gpodder/GpodderPodcastTreeItem.h b/src/services/gpodder/GpodderPodcastTreeItem.h
index 91323fb770..1c5fd45c0c 100644
--- a/src/services/gpodder/GpodderPodcastTreeItem.h
+++ b/src/services/gpodder/GpodderPodcastTreeItem.h
@@ -20,7 +20,7 @@
#define GPODDERPODCASTTREEITEM_H_
#include "GpodderTreeItem.h"
-#include <mygpo-qt5/Podcast.h>
+#include <mygpo-qt/Podcast.h>
class GpodderPodcastTreeItem: public GpodderTreeItem
{
diff --git a/src/services/gpodder/GpodderProvider.h b/src/services/gpodder/GpodderProvider.h
index e6deb51868..db7a664060 100644
--- a/src/services/gpodder/GpodderProvider.h
+++ b/src/services/gpodder/GpodderProvider.h
@@ -23,8 +23,8 @@
#include "core/podcasts/PodcastProvider.h"
#include "core/podcasts/PodcastReader.h"
#include "GpodderPodcastMeta.h"
-#include <mygpo-qt5/ApiRequest.h>
-#include <mygpo-qt5/EpisodeActionList.h>
+#include <mygpo-qt/ApiRequest.h>
+#include <mygpo-qt/EpisodeActionList.h>
#include "playlistmanager/file/KConfigSyncRelStore.h"
#include "playlistmanager/PlaylistManager.h"
diff --git a/src/services/gpodder/GpodderService.cpp b/src/services/gpodder/GpodderService.cpp
index 6ead72cc74..0294850143 100644
--- a/src/services/gpodder/GpodderService.cpp
+++ b/src/services/gpodder/GpodderService.cpp
@@ -27,8 +27,8 @@
#include "GpodderServiceModel.h"
#include "GpodderServiceView.h"
#include "GpodderSortFilterProxyModel.h"
-#include <mygpo-qt5/ApiRequest.h>
-#include <mygpo-qt5/Podcast.h>
+#include <mygpo-qt/ApiRequest.h>
+#include <mygpo-qt/Podcast.h>
#include "playlistmanager/PlaylistManager.h"
#include "widgets/SearchWidget.h"
diff --git a/src/services/gpodder/GpodderServiceModel.h b/src/services/gpodder/GpodderServiceModel.h
index 08b5a559e1..e443c79b08 100644
--- a/src/services/gpodder/GpodderServiceModel.h
+++ b/src/services/gpodder/GpodderServiceModel.h
@@ -20,8 +20,8 @@
#define GPODDERSERVICEMODEL_H_
#include "GpodderTreeItem.h"
-#include <mygpo-qt5/ApiRequest.h>
-#include <mygpo-qt5/TagList.h>
+#include <mygpo-qt/ApiRequest.h>
+#include <mygpo-qt/TagList.h>
#include "NetworkAccessManagerProxy.h"
#include <QAbstractItemModel>
diff --git a/src/services/gpodder/GpodderServiceSettings.h b/src/services/gpodder/GpodderServiceSettings.h
index 1c3707b7ee..f519404958 100644
--- a/src/services/gpodder/GpodderServiceSettings.h
+++ b/src/services/gpodder/GpodderServiceSettings.h
@@ -21,7 +21,7 @@
#define GPODDERSERVICESETTINGS_H
#include "GpodderServiceConfig.h"
-#include <mygpo-qt5/ApiRequest.h>
+#include <mygpo-qt/ApiRequest.h>
#include <KConfigWidgets/KCModule>
diff --git a/src/services/gpodder/GpodderTagTreeItem.h b/src/services/gpodder/GpodderTagTreeItem.h
index 63cc965d89..8941cb8fc3 100644
--- a/src/services/gpodder/GpodderTagTreeItem.h
+++ b/src/services/gpodder/GpodderTagTreeItem.h
@@ -20,7 +20,7 @@
#define GPODDERTAGTREEITEM_H_
#include "GpodderTreeItem.h"
-#include <mygpo-qt5/Tag.h>
+#include <mygpo-qt/Tag.h>
#include <QObject>
diff --git a/src/services/gpodder/GpodderTreeItem.h b/src/services/gpodder/GpodderTreeItem.h
index 642e1cb371..ce1d4d070a 100644
--- a/src/services/gpodder/GpodderTreeItem.h
+++ b/src/services/gpodder/GpodderTreeItem.h
@@ -19,8 +19,8 @@
#ifndef GPODDERTREEITEM_H_
#define GPODDERTREEITEM_H_
-#include <mygpo-qt5/ApiRequest.h>
-#include <mygpo-qt5/TagList.h>
+#include <mygpo-qt/ApiRequest.h>
+#include <mygpo-qt/TagList.h>
#include <QList>
#include <QModelIndex>

View File

@ -0,0 +1,285 @@
From c60f5dab3729d587eb025afefaf1f5555706368d Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 18:07:10 +0200
Subject: [PATCH 1/3] Port away from deprecated QDesktopWidget functions.
Following the instructions on https://doc.qt.io/qt-5/qdesktopwidget-obsolete.html
---
src/covermanager/CoverManager.cpp | 4 ++--
src/covermanager/CoverViewDialog.cpp | 3 +--
src/dialogs/OrganizeCollectionDialog.cpp | 4 ++--
src/widgets/Osd.cpp | 22 +++++++++++-----------
src/widgets/PixmapViewer.cpp | 6 +++---
5 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/covermanager/CoverManager.cpp b/src/covermanager/CoverManager.cpp
index e67a89416a..eb0d63f637 100644
--- a/src/covermanager/CoverManager.cpp
+++ b/src/covermanager/CoverManager.cpp
@@ -39,11 +39,11 @@
#include <QAction>
#include <QApplication>
-#include <QDesktopWidget>
#include <QDialogButtonBox>
#include <QMenu> //showCoverMenu()
#include <QProgressBar>
#include <QPushButton>
+#include <QScreen>
#include <QSplitter>
#include <QStatusBar>
#include <QStringList>
@@ -228,7 +228,7 @@ CoverManager::slotContinueConstruction() //SLOT
connect( m_progress, &CompoundProgressBar::allDone, this, &CoverManager::progressAllDone );
- QSize size = QApplication::desktop()->screenGeometry( this ).size() / 1.5;
+ QSize size = this->screen()->size() / 1.5;
QSize sz = Amarok::config( "Cover Manager" ).readEntry( "Window Size", size );
resize( sz.width(), sz.height() );
diff --git a/src/covermanager/CoverViewDialog.cpp b/src/covermanager/CoverViewDialog.cpp
index bb01e1f7fb..d3a1b96f7e 100644
--- a/src/covermanager/CoverViewDialog.cpp
+++ b/src/covermanager/CoverViewDialog.cpp
@@ -25,7 +25,6 @@
#include <KLocalizedString>
#include <KWindowSystem>
-#include <QDesktopWidget>
#include <QHBoxLayout>
#include <KConfigGroup>
@@ -72,7 +71,7 @@ CoverViewDialog::zoomFactorChanged( qreal value )
void
CoverViewDialog::createViewer( const QImage &image, const QWidget *widget )
{
- int screenNumber = QApplication::desktop()->screenNumber( widget );
+ int screenNumber = QApplication::screens().indexOf( widget->screen() );
PixmapViewer *pixmapViewer = new PixmapViewer( this, QPixmap::fromImage(image), screenNumber );
QHBoxLayout *layout = new QHBoxLayout( this );
layout->addWidget( pixmapViewer );
diff --git a/src/dialogs/OrganizeCollectionDialog.cpp b/src/dialogs/OrganizeCollectionDialog.cpp
index fb59c98224..cfda1f109c 100644
--- a/src/dialogs/OrganizeCollectionDialog.cpp
+++ b/src/dialogs/OrganizeCollectionDialog.cpp
@@ -30,9 +30,9 @@
#include "ui_OrganizeCollectionDialogBase.h"
#include <QApplication>
-#include <QDesktopWidget>
#include <QDir>
#include <QPushButton>
+#include <QScreen>
#include <QTimer>
#include <KColorScheme>
@@ -84,7 +84,7 @@ OrganizeCollectionWidget::OrganizeCollectionWidget( QWidget *parent )
// show some non-editable tags before and after
// but only if screen size is large enough (BR: 283361)
- const QRect screenRect = QApplication::desktop()->screenGeometry();
+ const QRect screenRect = QApplication::primaryScreen()->geometry();
if( screenRect.width() >= 1024 )
{
m_schemaLineLayout->insertWidget( 0,
diff --git a/src/widgets/Osd.cpp b/src/widgets/Osd.cpp
index dc1cf722e3..062f3ceeb9 100644
--- a/src/widgets/Osd.cpp
+++ b/src/widgets/Osd.cpp
@@ -45,6 +45,7 @@
#include <QPainter>
#include <QPixmap>
#include <QRegExp>
+#include <QScreen>
#include <QTimeLine>
#include <QTimer>
@@ -245,7 +246,7 @@ OSDWidget::determineMetrics( const int M )
// determine a sensible maximum size, don't cover the whole desktop or cross the screen
const QSize margin( ( M + MARGIN ) * 2, ( M + MARGIN ) * 2 ); //margins
const QSize image = m_cover.isNull() ? QSize( 0, 0 ) : minImageSize;
- const QSize max = QApplication::desktop()->screen( m_screen )->size() - margin;
+ const QSize max = QApplication::screens()[ screen() ]->size() - margin;
// If we don't do that, the boundingRect() might not be suitable for drawText() (Qt issue N67674)
m_text.replace( QRegExp( " +\n" ), "\n" );
@@ -311,7 +312,7 @@ OSDWidget::determineMetrics( const int M )
rect.adjust( -M, -M, M, M );
const QSize newSize = rect.size();
- const QRect screen = QApplication::desktop()->screenGeometry( m_screen );
+ const QRect screenRect = QApplication::screens()[ screen() ]->geometry();
QPoint newPos( MARGIN, m_yOffset );
switch( m_alignment )
@@ -320,25 +321,25 @@ OSDWidget::determineMetrics( const int M )
break;
case Right:
- newPos.rx() = screen.width() - MARGIN - newSize.width();
+ newPos.rx() = screenRect.width() - MARGIN - newSize.width();
break;
case Center:
- newPos.ry() = ( screen.height() - newSize.height() ) / 2;
+ newPos.ry() = ( screenRect.height() - newSize.height() ) / 2;
Q_FALLTHROUGH();
case Middle:
- newPos.rx() = ( screen.width() - newSize.width() ) / 2;
+ newPos.rx() = ( screenRect.width() - newSize.width() ) / 2;
break;
}
//ensure we don't dip below the screen
- if ( newPos.y() + newSize.height() > screen.height() - MARGIN )
- newPos.ry() = screen.height() - MARGIN - newSize.height();
+ if ( newPos.y() + newSize.height() > screenRect.height() - MARGIN )
+ newPos.ry() = screenRect.height() - MARGIN - newSize.height();
// correct for screen position
- newPos += screen.topLeft();
+ newPos += screenRect.topLeft();
return QRect( newPos, rect.size() );
}
@@ -551,7 +552,7 @@ OSDPreviewWidget::mouseMoveEvent( QMouseEvent *e )
{
// Here we implement a "snap-to-grid" like positioning system for the preview widget
- const QRect screenRect = QApplication::desktop()->screenGeometry( screen() );
+ const QRect screenRect = QApplication::screens()[ screen() ]->geometry();
const uint hcenter = screenRect.width() / 2;
const uint eGlobalPosX = e->globalPos().x() - screenRect.left();
const uint snapZone = screenRect.width() / 24;
@@ -592,8 +593,7 @@ OSDPreviewWidget::mouseMoveEvent( QMouseEvent *e )
move( destination );
// compute current Position && Y-offset
- QDesktopWidget *desktop = QApplication::desktop();
- const int currentScreen = desktop->screenNumber( pos() );
+ const int currentScreen = QGuiApplication::screens().indexOf( QGuiApplication::screenAt( pos() ) );
// set new data
OSDWidget::setScreen( currentScreen );
diff --git a/src/widgets/PixmapViewer.cpp b/src/widgets/PixmapViewer.cpp
index 158540f541..332dbc5d5e 100644
--- a/src/widgets/PixmapViewer.cpp
+++ b/src/widgets/PixmapViewer.cpp
@@ -21,11 +21,11 @@
#include <QApplication>
-#include <QDesktopWidget>
#include <QMouseEvent>
#include <QLabel>
#include <QPixmap>
#include <QPainter>
+#include <QScreen>
#include <QWheelEvent>
@@ -35,8 +35,8 @@ PixmapViewer::PixmapViewer( QWidget *parent, const QPixmap &pix, int screenNumbe
{
m_zoomFactor = 1.0; // initial zoom
- int screenWidth = QApplication::desktop()->availableGeometry( screenNumber ).width();
- int screenHeight = QApplication::desktop()->availableGeometry( screenNumber ).height();
+ int screenWidth = QApplication::screens()[ screenNumber ]->availableGeometry().width();
+ int screenHeight = QApplication::screens()[ screenNumber ]->availableGeometry().height();
if( screenWidth < m_pixmap.width() || screenHeight < m_pixmap.height() )
{
qreal zoomFactorX = qreal(screenWidth) / m_pixmap.width();
--
GitLab
From b95c439ebba30ba257ba75d060b237a293415ea8 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Sat, 11 Mar 2023 15:22:18 +0200
Subject: [PATCH 2/3] Disable OSD options not available on Wayland.
---
src/configdialog/dialogs/NotificationsConfig.cpp | 6 +++++-
src/widgets/Osd.cpp | 8 ++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/configdialog/dialogs/NotificationsConfig.cpp b/src/configdialog/dialogs/NotificationsConfig.cpp
index 0c16fdcb17..1c3387206a 100644
--- a/src/configdialog/dialogs/NotificationsConfig.cpp
+++ b/src/configdialog/dialogs/NotificationsConfig.cpp
@@ -51,7 +51,11 @@ NotificationsConfig::NotificationsConfig( Amarok2ConfigDialog* parent )
#endif
// Enable/disable the translucency option depending on availability of desktop compositing
- kcfg_OsdUseTranslucency->setEnabled( KWindowSystem::compositingActive() );
+ // As opacity functionality is not available on Wayland at least with current implementation, don't enable option there
+ kcfg_OsdUseTranslucency->setEnabled( !KWindowSystem::isPlatformWayland() && KWindowSystem::compositingActive() );
+
+ // Also disable other functionalities not (yet?) available on Wayland
+ kcfg_OsdScreen->setEnabled( !KWindowSystem::isPlatformWayland() );
connect( m_osdPreview, &OSDPreviewWidget::positionChanged, this, &NotificationsConfig::slotPositionChanged );
diff --git a/src/widgets/Osd.cpp b/src/widgets/Osd.cpp
index 062f3ceeb9..e29a1b2347 100644
--- a/src/widgets/Osd.cpp
+++ b/src/widgets/Osd.cpp
@@ -509,7 +509,9 @@ OSDPreviewWidget::OSDPreviewWidget( QWidget *parent )
setDuration( 0 );
setImage( Amarok::icon() );
setTranslucent( AmarokConfig::osdUseTranslucency() );
- setText( i18n( "On-Screen-Display preview\nDrag to reposition" ) );
+ // Drag-positioning not available on Wayland, so let's hide any untrue ideas about dragging
+ // TODO maybe one day Wayland will be first-class OSD citizen
+ setText( KWindowSystem::isPlatformWayland() ? i18n ( "Preview" ) : i18n( "On-Screen-Display preview\nDrag to reposition" ) );
}
void
@@ -517,7 +519,9 @@ OSDPreviewWidget::mousePressEvent( QMouseEvent *event )
{
m_dragYOffset = event->pos();
- if( event->button() == Qt::LeftButton && !m_dragging )
+ // As we can't position OSD on Wayland at the moment, and grabbing mouse doesn't quite work
+ // either, let's disable this for now.
+ if( !KWindowSystem::isPlatformWayland() && event->button() == Qt::LeftButton && !m_dragging )
{
grabMouse( Qt::SizeAllCursor );
m_dragging = true;
--
GitLab
From d70177ab4a57c3aecf63cfd3937044c575ee1a6a Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Sat, 11 Mar 2023 17:58:59 +0200
Subject: [PATCH 3/3] Remove obsolete ifdef.
Apparently Q_WS's are not defined any more. Turns out, if run, the setType
actually makes the OSD positioning to go totally bonkers on X11, so let's just
remove it.
---
src/widgets/Osd.cpp | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/widgets/Osd.cpp b/src/widgets/Osd.cpp
index e29a1b2347..1eee135be4 100644
--- a/src/widgets/Osd.cpp
+++ b/src/widgets/Osd.cpp
@@ -87,10 +87,6 @@ OSDWidget::OSDWidget( QWidget *parent, const char *name )
setObjectName( name );
setFocusPolicy( Qt::NoFocus );
- #ifdef Q_WS_X11
- KWindowSystem::setType( winId(), NET::Notification );
- #endif
-
m_timer->setSingleShot( true );
connect( m_timer, &QTimer::timeout, this, &OSDWidget::hide );
--
GitLab

View File

@ -0,0 +1,854 @@
From 33780eaddae9905a36ac96882c1ff1416a508082 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 13:58:44 +0200
Subject: [PATCH 1/8] Make deprecated QMutex::Recursives QRecursiveMutexes.
Reading https://doc.qt.io/qt-5/qrecursivemutex.html this should be
a pretty straightforward change.
---
src/EngineController.cpp | 1 -
src/EngineController.h | 4 ++--
src/core-impl/collections/db/sql/SqlMeta.cpp | 1 -
src/core-impl/collections/db/sql/SqlMeta.h | 4 ++--
src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp | 1 -
src/core-impl/storage/sql/mysql-shared/MySqlStorage.h | 4 ++--
src/core/playlists/Playlist.cpp | 4 +---
src/core/playlists/Playlist.h | 6 +++---
src/core/support/Debug.cpp | 4 ++--
src/core/support/Debug.h | 4 ++--
src/dynamic/biases/EchoNestBias.cpp | 1 -
src/dynamic/biases/EchoNestBias.h | 4 ++--
src/importers/ImporterSqlConnection.cpp | 3 ---
src/importers/ImporterSqlConnection.h | 4 ++--
src/services/lastfm/biases/LastFmBias.cpp | 1 -
src/services/lastfm/biases/LastFmBias.h | 4 ++--
src/statusbar/CompoundProgressBar.cpp | 1 -
src/statusbar/CompoundProgressBar.h | 4 ++--
tests/TestExpression.cpp | 2 +-
tests/TestQStringx.cpp | 2 +-
20 files changed, 24 insertions(+), 35 deletions(-)
diff --git a/src/EngineController.cpp b/src/EngineController.cpp
index 8eea4c5921..5dd8db9190 100644
--- a/src/EngineController.cpp
+++ b/src/EngineController.cpp
@@ -84,7 +84,6 @@ EngineController::EngineController()
, m_tickInterval( 0 )
, m_lastTickPosition( -1 )
, m_lastTickCount( 0 )
- , m_mutex( QMutex::Recursive )
{
DEBUG_BLOCK
// ensure this object is created in a main thread
diff --git a/src/EngineController.h b/src/EngineController.h
index ca4ebfe132..0653868947 100644
--- a/src/EngineController.h
+++ b/src/EngineController.h
@@ -27,7 +27,7 @@
#include "playback/EqualizerController.h"
#include "core/meta/Meta.h"
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QObject>
#include <QPointer>
#include <QSemaphore>
@@ -579,7 +579,7 @@ private:
qint64 m_lastTickPosition;
qint64 m_lastTickCount;
- QMutex m_mutex;
+ QRecursiveMutex m_mutex;
// FIXME: this variable should be updated when
// Phonon::BackendCapabilities::notifier()'s capabilitiesChanged signal is emitted
diff --git a/src/core-impl/collections/db/sql/SqlMeta.cpp b/src/core-impl/collections/db/sql/SqlMeta.cpp
index 5fd0b11abf..45e7513f3d 100644
--- a/src/core-impl/collections/db/sql/SqlMeta.cpp
+++ b/src/core-impl/collections/db/sql/SqlMeta.cpp
@@ -1471,7 +1471,6 @@ SqlAlbum::SqlAlbum( Collections::SqlCollection *collection, int id, const QStrin
, m_unsetImageId( -1 )
, m_tracksLoaded( NotLoaded )
, m_suppressAutoFetch( false )
- , m_mutex( QMutex::Recursive )
{
Q_ASSERT( m_collection );
Q_ASSERT( m_id > 0 );
diff --git a/src/core-impl/collections/db/sql/SqlMeta.h b/src/core-impl/collections/db/sql/SqlMeta.h
index cf0204ff9e..dd385b1c50 100644
--- a/src/core-impl/collections/db/sql/SqlMeta.h
+++ b/src/core-impl/collections/db/sql/SqlMeta.h
@@ -28,7 +28,7 @@
#include <QAtomicInt>
#include <QByteArray>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QReadWriteLock>
#include <QString>
#include <QStringList>
@@ -450,7 +450,7 @@ class AMAROK_SQLCOLLECTION_EXPORT SqlAlbum : public Meta::Album
bool m_suppressAutoFetch;
Meta::ArtistPtr m_artist;
Meta::TrackList m_tracks;
- mutable QMutex m_mutex;
+ mutable QRecursiveMutex m_mutex;
//TODO: add album artist
diff --git a/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp b/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp
index e13a32951d..4b8cf3ca65 100644
--- a/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp
+++ b/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp
@@ -90,7 +90,6 @@ QThreadStorage< ThreadInitializer* > ThreadInitializer::storage;
MySqlStorage::MySqlStorage()
: SqlStorage()
, m_db( nullptr )
- , m_mutex( QMutex::Recursive )
, m_debugIdent( "MySQL-none" )
{
//Relevant code must be implemented in subclasses
diff --git a/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h b/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h
index 2ff4fa1bec..7027072738 100644
--- a/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h
+++ b/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h
@@ -22,7 +22,7 @@
#include <mysql.h>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QString>
#ifdef Q_WS_WIN
@@ -87,7 +87,7 @@ class MySqlStorage: public SqlStorage
MYSQL* m_db;
/** Mutex protecting the m_lastErrors list */
- mutable QMutex m_mutex;
+ mutable QRecursiveMutex m_mutex;
QString m_debugIdent;
QStringList m_lastErrors;
diff --git a/src/core/playlists/Playlist.cpp b/src/core/playlists/Playlist.cpp
index 06dee458a5..a77c726cd8 100644
--- a/src/core/playlists/Playlist.cpp
+++ b/src/core/playlists/Playlist.cpp
@@ -21,7 +21,6 @@
using namespace Playlists;
PlaylistObserver::PlaylistObserver()
- : m_playlistSubscriptionsMutex( QMutex::Recursive ) // prevent deadlocks
{
}
@@ -73,8 +72,7 @@ void PlaylistObserver::tracksLoaded( PlaylistPtr )
}
Playlist::Playlist()
- : m_observersMutex( QMutex::Recursive ) // prevent deadlocks
- , m_async( true )
+ : m_async( true )
{
}
diff --git a/src/core/playlists/Playlist.h b/src/core/playlists/Playlist.h
index 1ff92df5a1..6a0b25965a 100644
--- a/src/core/playlists/Playlist.h
+++ b/src/core/playlists/Playlist.h
@@ -22,7 +22,7 @@
#include <QList>
#include <QMetaType>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QPixmap>
#include <QSet>
#include <QSharedData>
@@ -128,7 +128,7 @@ namespace Playlists
private:
QSet<PlaylistPtr> m_playlistSubscriptions;
- QMutex m_playlistSubscriptionsMutex; // guards access to m_playlistSubscriptions
+ QRecursiveMutex m_playlistSubscriptionsMutex; // guards access to m_playlistSubscriptions
};
class AMAROKCORE_EXPORT Playlist : public virtual QSharedData
@@ -292,7 +292,7 @@ namespace Playlists
* write, even if it is recursive. This can cause deadlocks, so it would be
* never safe to lock it just for read.
*/
- QMutex m_observersMutex;
+ QRecursiveMutex m_observersMutex;
bool m_async;
};
}
diff --git a/src/core/support/Debug.cpp b/src/core/support/Debug.cpp
index 138c080b9a..50c6e5e830 100644
--- a/src/core/support/Debug.cpp
+++ b/src/core/support/Debug.cpp
@@ -24,7 +24,7 @@
#include <KConfigCore/KConfigGroup>
#include <QApplication>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QObject>
#include <iostream>
@@ -37,7 +37,7 @@
#define DEBUG_INDENT_OBJECTNAME QLatin1String("Debug_Indent_object")
-AMAROKCORE_EXPORT QMutex Debug::mutex( QMutex::Recursive );
+AMAROKCORE_EXPORT QRecursiveMutex Debug::mutex;
using namespace Debug;
diff --git a/src/core/support/Debug.h b/src/core/support/Debug.h
index b0872f1b80..1504a8ea2b 100644
--- a/src/core/support/Debug.h
+++ b/src/core/support/Debug.h
@@ -26,7 +26,7 @@
#include "core/amarokcore_export.h"
#include <QDebug>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QVariant>
// BEGIN: DEBUG_ASSERT
@@ -116,7 +116,7 @@
*/
namespace Debug
{
- extern AMAROKCORE_EXPORT QMutex mutex;
+ extern AMAROKCORE_EXPORT QRecursiveMutex mutex;
// from kdebug.h
enum DebugLevel {
diff --git a/src/dynamic/biases/EchoNestBias.cpp b/src/dynamic/biases/EchoNestBias.cpp
index 5831fcd259..c14264326a 100644
--- a/src/dynamic/biases/EchoNestBias.cpp
+++ b/src/dynamic/biases/EchoNestBias.cpp
@@ -64,7 +64,6 @@ Dynamic::EchoNestBias::EchoNestBias()
: SimpleMatchBias()
, m_artistSuggestedQuery( nullptr )
, m_match( PreviousTrack )
- , m_mutex( QMutex::Recursive )
{
loadDataFromFile();
}
diff --git a/src/dynamic/biases/EchoNestBias.h b/src/dynamic/biases/EchoNestBias.h
index 413cdb33d0..54eee360f5 100644
--- a/src/dynamic/biases/EchoNestBias.h
+++ b/src/dynamic/biases/EchoNestBias.h
@@ -20,7 +20,7 @@
#include "dynamic/biases/TagMatchBias.h"
-#include <QMutex>
+#include <QRecursiveMutex>
namespace KIO {
class StoredTransferJob;
@@ -104,7 +104,7 @@ namespace Dynamic
MatchType m_match;
- mutable QMutex m_mutex; // mutex protecting all of the below structures
+ mutable QRecursiveMutex m_mutex; // mutex protecting all of the below structures
mutable QMap< QString, QStringList> m_similarArtistMap;
mutable QMap< QString, TrackSet> m_tracksMap;
diff --git a/src/importers/ImporterSqlConnection.cpp b/src/importers/ImporterSqlConnection.cpp
index 8176baca85..0853279ebb 100644
--- a/src/importers/ImporterSqlConnection.cpp
+++ b/src/importers/ImporterSqlConnection.cpp
@@ -35,7 +35,6 @@ ImporterSqlConnection::ImporterSqlConnection( const QString &driver,
const QString &user,
const QString &password )
: m_connectionName( QUuid::createUuid().toString() )
- , m_apiMutex( QMutex::Recursive )
, m_openTransaction( false )
{
QSqlDatabase db = QSqlDatabase::addDatabase( driver, m_connectionName );
@@ -48,7 +47,6 @@ ImporterSqlConnection::ImporterSqlConnection( const QString &driver,
ImporterSqlConnection::ImporterSqlConnection( const QString &dbPath )
: m_connectionName( QUuid::createUuid().toString() )
- , m_apiMutex( QMutex::Recursive )
, m_openTransaction( false )
{
QSqlDatabase db = QSqlDatabase::addDatabase( QStringLiteral("QSQLITE"), m_connectionName );
@@ -57,7 +55,6 @@ ImporterSqlConnection::ImporterSqlConnection( const QString &dbPath )
ImporterSqlConnection::ImporterSqlConnection()
: m_connectionName( QUuid::createUuid().toString() )
- , m_apiMutex( QMutex::Recursive )
, m_openTransaction( false )
{
}
diff --git a/src/importers/ImporterSqlConnection.h b/src/importers/ImporterSqlConnection.h
index b0b7c844e9..70896ef223 100644
--- a/src/importers/ImporterSqlConnection.h
+++ b/src/importers/ImporterSqlConnection.h
@@ -22,7 +22,7 @@
#include "amarok_export.h"
#include <QList>
-#include <QMutex>
+#include <QRecursiveMutex>
#include <QPointer>
#include <QSharedPointer>
#include <QSqlDatabase>
@@ -130,7 +130,7 @@ private:
Qt::ConnectionType blockingConnectionType() const;
- QMutex m_apiMutex;
+ QRecursiveMutex m_apiMutex;
bool m_openTransaction;
QList<QVariantList> m_result;
diff --git a/src/services/lastfm/biases/LastFmBias.cpp b/src/services/lastfm/biases/LastFmBias.cpp
index af4ae2a987..468ca714aa 100644
--- a/src/services/lastfm/biases/LastFmBias.cpp
+++ b/src/services/lastfm/biases/LastFmBias.cpp
@@ -64,7 +64,6 @@ Dynamic::LastFmBiasFactory::createBias()
Dynamic::LastFmBias::LastFmBias()
: SimpleMatchBias()
, m_match( SimilarArtist )
- , m_mutex( QMutex::Recursive )
{
loadDataFromFile();
}
diff --git a/src/services/lastfm/biases/LastFmBias.h b/src/services/lastfm/biases/LastFmBias.h
index 2848b38d9a..77509dc9f1 100644
--- a/src/services/lastfm/biases/LastFmBias.h
+++ b/src/services/lastfm/biases/LastFmBias.h
@@ -20,7 +20,7 @@
#include "dynamic/biases/TagMatchBias.h"
-#include <QMutex>
+#include <QRecursiveMutex>
namespace Dynamic
{
@@ -95,7 +95,7 @@ namespace Dynamic
MatchType m_match;
- mutable QMutex m_mutex; // mutex protecting all of the below structures
+ mutable QRecursiveMutex m_mutex; // mutex protecting all of the below structures
mutable QMap< QString, QStringList> m_similarArtistMap;
mutable QMap< TitleArtistPair, QList<TitleArtistPair> > m_similarTrackMap;
mutable QMap< QString, TrackSet> m_tracksMap; // for artist AND album
diff --git a/src/statusbar/CompoundProgressBar.cpp b/src/statusbar/CompoundProgressBar.cpp
index 3741ff5b34..3f437ff432 100644
--- a/src/statusbar/CompoundProgressBar.cpp
+++ b/src/statusbar/CompoundProgressBar.cpp
@@ -26,7 +26,6 @@
CompoundProgressBar::CompoundProgressBar( QWidget *parent )
: ProgressBar( parent )
- , m_mutex( QMutex::Recursive )
{
m_progressDetailsWidget = new PopupWidget();
m_progressDetailsWidget->hide();
diff --git a/src/statusbar/CompoundProgressBar.h b/src/statusbar/CompoundProgressBar.h
index cfd5070c41..ed9e72012a 100644
--- a/src/statusbar/CompoundProgressBar.h
+++ b/src/statusbar/CompoundProgressBar.h
@@ -23,7 +23,7 @@
#include <QList>
#include <QMap>
#include <QMouseEvent>
-#include <QMutex>
+#include <QRecursiveMutex>
/**
* A progress bar that wraps a number of simple progress bars and displays their
@@ -75,7 +75,7 @@ private:
QMap< const QObject *, ProgressBar *> m_progressMap;
PopupWidget *m_progressDetailsWidget;
- QMutex m_mutex; // protecting m_progressMap consistency
+ QRecursiveMutex m_mutex; // protecting m_progressMap consistency
};
#endif
diff --git a/tests/TestExpression.cpp b/tests/TestExpression.cpp
index a84ee6f7f8..ea298c10c5 100644
--- a/tests/TestExpression.cpp
+++ b/tests/TestExpression.cpp
@@ -27,7 +27,7 @@
QTEST_GUILESS_MAIN( TestExpression )
//required for Debug.h
-QMutex Debug::mutex;
+QRecursiveMutex Debug::mutex;
TestExpression::TestExpression()
{
diff --git a/tests/TestQStringx.cpp b/tests/TestQStringx.cpp
index 7b96d83ae9..010db2252e 100644
--- a/tests/TestQStringx.cpp
+++ b/tests/TestQStringx.cpp
@@ -28,7 +28,7 @@
QTEST_GUILESS_MAIN( TestQStringx )
//required for Debug.h
-QMutex Debug::mutex;
+QRecursiveMutex Debug::mutex;
TestQStringx::TestQStringx()
{
--
GitLab
From 413efb028f41808e9a59166805f4a8ec73737237 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 17:33:54 +0200
Subject: [PATCH 2/8] Use more-recently-deprecated codepaths.
KDeclarative::setupBindings() is deprecated since 5.45 and current
KF5_MIN_VERSION is 5.57, so this is probably a feasible thing to do.
---
src/context/ContextView.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/context/ContextView.cpp b/src/context/ContextView.cpp
index 9e3ba064d2..1aa3fc70af 100644
--- a/src/context/ContextView.cpp
+++ b/src/context/ContextView.cpp
@@ -60,7 +60,8 @@ ContextView::ContextView( QWidget *parent )
KDeclarative::KDeclarative decl;
decl.setDeclarativeEngine( engine() );
- decl.setupBindings();
+ engine()->rootContext()->setContextObject( new KLocalizedContext( this ) );
+ decl.setupEngine( engine() );
connect( this, &QQuickWidget::statusChanged, this, &ContextView::slotStatusChanged );
connect( The::paletteHandler(), &PaletteHandler::newPalette, this, &ContextView::updatePalette );
--
GitLab
From f212bcb2466a2faee48ff43c631a67335c42b2f0 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 17:39:18 +0200
Subject: [PATCH 3/8] Port away from deprecated QDesktopWidget::numScreens.
Replace with QGuiApplication::screens() based approaches as instructed on
https://doc.qt.io/qt-5/qdesktopwidget-obsolete.html#numScreens
---
src/configdialog/dialogs/NotificationsConfig.cpp | 2 +-
src/widgets/Osd.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/configdialog/dialogs/NotificationsConfig.cpp b/src/configdialog/dialogs/NotificationsConfig.cpp
index 0c16fdcb17..00a15f6bef 100644
--- a/src/configdialog/dialogs/NotificationsConfig.cpp
+++ b/src/configdialog/dialogs/NotificationsConfig.cpp
@@ -55,7 +55,7 @@ NotificationsConfig::NotificationsConfig( Amarok2ConfigDialog* parent )
connect( m_osdPreview, &OSDPreviewWidget::positionChanged, this, &NotificationsConfig::slotPositionChanged );
- const int numScreens = QApplication::desktop()->numScreens();
+ const int numScreens = QApplication::screens().size();
for( int i = 0; i < numScreens; i++ )
kcfg_OsdScreen->addItem( QString::number( i ) );
diff --git a/src/widgets/Osd.cpp b/src/widgets/Osd.cpp
index dc1cf722e3..4de9749a76 100644
--- a/src/widgets/Osd.cpp
+++ b/src/widgets/Osd.cpp
@@ -463,7 +463,7 @@ OSDWidget::setTextColor(const QColor& color)
void
OSDWidget::setScreen( int screen )
{
- const int n = QApplication::desktop()->numScreens();
+ const int n = QApplication::screens().size();
m_screen = ( screen >= n ) ? n - 1 : screen;
}
--
GitLab
From d9cf76b03ea64bc7fa4c40a65f4de2fdc6d57fdc Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 18:34:21 +0200
Subject: [PATCH 4/8] Avoid some warnings from a TODO function.
---
src/scripting/scriptengine/AmarokLyricsScript.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/scripting/scriptengine/AmarokLyricsScript.cpp b/src/scripting/scriptengine/AmarokLyricsScript.cpp
index d4b5eedd5a..fae437130d 100644
--- a/src/scripting/scriptengine/AmarokLyricsScript.cpp
+++ b/src/scripting/scriptengine/AmarokLyricsScript.cpp
@@ -97,6 +97,8 @@ AmarokLyricsScript::escape( const QString &str )
void
AmarokLyricsScript::setLyricsForTrack( const QString &trackUrl, const QString &lyrics ) const
{
+ Q_UNUSED( trackUrl );
+ Q_UNUSED( lyrics );
/* TODO - convert method invocation below
LyricsManager::instance()->setLyricsForTrack( trackUrl, lyrics );
*/
--
GitLab
From 3dd0add1d17d52132db13ef74f74034d14c4ffb6 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 18:39:01 +0200
Subject: [PATCH 5/8] Use non-deprecated signals.
Introduced in Qt 5.15 ( https://doc.qt.io/qt-5/qsignalmapper.html#mappedObject
https://doc.qt.io/qt-5/qsignalmapper.html#mappedString ), which is currently
the minimum version for us.
---
src/network/NetworkAccessViewer.cpp | 2 +-
src/playlistgenerator/PresetEditDialog.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/network/NetworkAccessViewer.cpp b/src/network/NetworkAccessViewer.cpp
index 38f50ed038..5454ab8819 100644
--- a/src/network/NetworkAccessViewer.cpp
+++ b/src/network/NetworkAccessViewer.cpp
@@ -33,7 +33,7 @@ NetworkAccessViewer::NetworkAccessViewer( QWidget *parent )
networkRequestsDialog->setupUi(dialog);
mapper = new QSignalMapper(this);
- connect( mapper, QOverload<QObject*>::of(&QSignalMapper::mapped),
+ connect( mapper, QOverload<QObject*>::of(&QSignalMapper::mappedObject),
this, &NetworkAccessViewer::requestFinished );
connect( networkRequestsDialog->requestList, &QTreeWidget::currentItemChanged, this, &NetworkAccessViewer::showItemDetails );
diff --git a/src/playlistgenerator/PresetEditDialog.cpp b/src/playlistgenerator/PresetEditDialog.cpp
index 7ef060ce22..fcf0f8e2d0 100644
--- a/src/playlistgenerator/PresetEditDialog.cpp
+++ b/src/playlistgenerator/PresetEditDialog.cpp
@@ -52,7 +52,7 @@ APG::PresetEditDialog::PresetEditDialog( const PresetPtr &p )
ui.constraintTreeView->expandAll();
QSignalMapper* adderMapper = new QSignalMapper( this );
- connect( adderMapper, QOverload<const QString&>::of(&QSignalMapper::mapped),
+ connect( adderMapper, QOverload<const QString&>::of(&QSignalMapper::mappedString),
this, &PresetEditDialog::addNode );
QMenuBar* menuBar_Actions = new QMenuBar( this );
--
GitLab
From 5f27e8531b603b82aa7d3371868e2425a1095b77 Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 18:51:44 +0200
Subject: [PATCH 6/8] Port away from deprecated TagLib::String::Null.
As instructed on https://taglib.org/api/classTagLib_1_1String.html#ae5f42b9ceca1b59814cffc2eddff3d09
and https://taglib.org/api/classTagLib_1_1String.html#a8c35a7ec22fdfcf8afaf3edee01a01e0
---
shared/tag_helpers/APETagHelper.cpp | 2 +-
shared/tag_helpers/ASFTagHelper.cpp | 2 +-
shared/tag_helpers/ID3v2TagHelper.cpp | 2 +-
shared/tag_helpers/MP4TagHelper.cpp | 2 +-
shared/tag_helpers/StringHelper.cpp | 2 +-
shared/tag_helpers/VorbisCommentTagHelper.cpp | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/shared/tag_helpers/APETagHelper.cpp b/shared/tag_helpers/APETagHelper.cpp
index eee34e05a3..66e8510a53 100644
--- a/shared/tag_helpers/APETagHelper.cpp
+++ b/shared/tag_helpers/APETagHelper.cpp
@@ -84,7 +84,7 @@ APETagHelper::setTags( const Meta::FieldHash &changes )
QVariant value = changes.value( key );
TagLib::String field = fieldName( key );
- if( !field.isNull() && !field.isEmpty() )
+ if( !field.isEmpty() )
{
if( key == Meta::valRating )
m_tag->addValue( field, Qt4QStringToTString( QString::number( value.toFloat() / 10.0 ) ) );
diff --git a/shared/tag_helpers/ASFTagHelper.cpp b/shared/tag_helpers/ASFTagHelper.cpp
index 241e93d714..772728b58f 100644
--- a/shared/tag_helpers/ASFTagHelper.cpp
+++ b/shared/tag_helpers/ASFTagHelper.cpp
@@ -107,7 +107,7 @@ ASFTagHelper::setTags( const Meta::FieldHash &changes )
QVariant value = changes.value( key );
TagLib::String field = fieldName( key );
- if( !field.isNull() && !field.isEmpty() )
+ if( !field.isEmpty() )
{
if( key == Meta::valHasCover )
continue;
diff --git a/shared/tag_helpers/ID3v2TagHelper.cpp b/shared/tag_helpers/ID3v2TagHelper.cpp
index ea9281dc30..7dd98062bc 100644
--- a/shared/tag_helpers/ID3v2TagHelper.cpp
+++ b/shared/tag_helpers/ID3v2TagHelper.cpp
@@ -187,7 +187,7 @@ ID3v2TagHelper::setTags( const Meta::FieldHash &changes )
QVariant value = changes.value( key );
TagLib::ByteVector field( fieldName( key ).toCString() );
- if( !field.isNull() && !field.isEmpty() )
+ if( !field.isEmpty() )
{
if( key == Meta::valHasCover )
continue;
diff --git a/shared/tag_helpers/MP4TagHelper.cpp b/shared/tag_helpers/MP4TagHelper.cpp
index 7a28b4473c..54d192ffae 100644
--- a/shared/tag_helpers/MP4TagHelper.cpp
+++ b/shared/tag_helpers/MP4TagHelper.cpp
@@ -106,7 +106,7 @@ MP4TagHelper::setTags( const Meta::FieldHash &changes )
QVariant value = changes.value( key );
TagLib::String field = fieldName( key );
- if( !field.isNull() && !field.isEmpty() )
+ if( !field.isEmpty() )
{
// http://gitorious.org/~jefferai/xdg-specs/jefferais-xdg-specs/blobs/mediaspecs/specifications/FMPSpecs/specification.txt sais that mp4 tags should be saved as strings
if( key == Meta::valHasCover )
diff --git a/shared/tag_helpers/StringHelper.cpp b/shared/tag_helpers/StringHelper.cpp
index fd7e49b432..a8d2aa3e97 100644
--- a/shared/tag_helpers/StringHelper.cpp
+++ b/shared/tag_helpers/StringHelper.cpp
@@ -36,7 +36,7 @@ Meta::Tag::Qt4QStringToTString( const QString &str )
{
// Declare new var to prevent double call of trimmed func
QString val = str.trimmed();
- return val.isEmpty() ? TagLib::String::null : TagLib::String( val.toUtf8().data(), TagLib::String::UTF8 );
+ return val.isEmpty() ? TagLib::String() : TagLib::String( val.toUtf8().data(), TagLib::String::UTF8 );
}
QString
diff --git a/shared/tag_helpers/VorbisCommentTagHelper.cpp b/shared/tag_helpers/VorbisCommentTagHelper.cpp
index f3ff542db6..95dc041d8a 100644
--- a/shared/tag_helpers/VorbisCommentTagHelper.cpp
+++ b/shared/tag_helpers/VorbisCommentTagHelper.cpp
@@ -151,7 +151,7 @@ VorbisCommentTagHelper::setTags( const Meta::FieldHash &changes )
QVariant value = changes.value( key );
TagLib::String field = fieldName( key );
- if( !field.isNull() && !field.isEmpty() )
+ if( !field.isEmpty() )
{
if( key == Meta::valHasCover )
continue;
--
GitLab
From 45fbce7eff1d4e38751db49f6ee0c4ede884e44e Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Thu, 9 Mar 2023 19:22:02 +0200
Subject: [PATCH 7/8] Port away from KDiskFreeSpaceInfo.
Deprecated in KF 5.88. QStorageInfo is available since Qt 5.4, and actually
provides better functionality with bytesAvailable() instead of just bytesFree().
---
.../db/sql/SqlCollectionLocation.cpp | 24 +++++++------------
.../ipodcollection/IpodCollection.cpp | 8 +++----
.../MediaDeviceCollection.cpp | 2 --
.../umscollection/UmsCollection.cpp | 6 ++---
4 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp b/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp
index 7f761432ef..2f6835c073 100644
--- a/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp
+++ b/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp
@@ -38,8 +38,8 @@
#include <QDir>
#include <QFile>
#include <QFileInfo>
+#include <QStorageInfo>
-#include <KDiskFreeSpaceInfo>
#include <KFileItem>
#include <KJob>
#include <KIO/DeleteJob>
@@ -90,13 +90,7 @@ SqlCollectionLocation::isWritable() const
QStringList folders = actualLocation();
foreach( const QString &path, folders )
{
- float used = KDiskFreeSpaceInfo::freeSpaceInfo( path ).used();
- float total = KDiskFreeSpaceInfo::freeSpaceInfo( path ).size();
-
- if( total <= 0 ) // protect against div by zero
- continue; //How did this happen?
-
- float free_space = total - used;
+ float free_space = QStorageInfo( path ).bytesAvailable();
if( free_space >= 500*1000*1000 ) // ~500 megabytes
path_exists_with_space = true;
@@ -298,18 +292,18 @@ SqlCollectionLocation::showDestinationDialog( const Meta::TrackList &tracks,
if( path.isEmpty() )
continue;
debug() << "Path" << path;
- KDiskFreeSpaceInfo spaceInfo = KDiskFreeSpaceInfo::freeSpaceInfo( path );
+ QStorageInfo spaceInfo(path);
if( !spaceInfo.isValid() )
continue;
- KIO::filesize_t totalCapacity = spaceInfo.size();
- KIO::filesize_t used = spaceInfo.used();
+ KIO::filesize_t totalCapacity = spaceInfo.bytesTotal();
+ KIO::filesize_t used = totalCapacity - spaceInfo.bytesFree();
- KIO::filesize_t freeSpace = totalCapacity - used;
+ KIO::filesize_t availableSpace = spaceInfo.bytesAvailable();
debug() << "used:" << used;
debug() << "total:" << totalCapacity;
- debug() << "Free space" << freeSpace;
+ debug() << "Available space" << availableSpace;
debug() << "transfersize" << transferSize;
if( totalCapacity <= 0 ) // protect against div by zero
@@ -320,8 +314,8 @@ SqlCollectionLocation::showDestinationDialog( const Meta::TrackList &tracks,
// since bad things happen when drives become totally full
// we make sure there is at least ~500MB left
// finally, ensure the path is writable
- debug() << ( freeSpace - transferSize );
- if( ( freeSpace - transferSize ) > 1024*1024*500 && info.isWritable() )
+ debug() << ( availableSpace - transferSize );
+ if( ( availableSpace - transferSize ) > 1024*1024*500 && info.isWritable() )
available_folders << path;
}
diff --git a/src/core-impl/collections/ipodcollection/IpodCollection.cpp b/src/core-impl/collections/ipodcollection/IpodCollection.cpp
index cd555ca47f..1aab224054 100644
--- a/src/core-impl/collections/ipodcollection/IpodCollection.cpp
+++ b/src/core-impl/collections/ipodcollection/IpodCollection.cpp
@@ -34,7 +34,6 @@
#include "core-impl/collections/support/MemoryQueryMaker.h"
#include "playlistmanager/PlaylistManager.h"
-#include <KDiskFreeSpaceInfo>
#include <solid/device.h>
#include <solid/predicate.h>
#include <solid/storageaccess.h>
@@ -47,6 +46,7 @@
#include <KConfigGroup>
#include <QDialogButtonBox>
#include <QPushButton>
+#include <QStorageInfo>
#include <QVBoxLayout>
@@ -261,19 +261,19 @@ IpodCollection::icon() const
bool
IpodCollection::hasCapacity() const
{
- return KDiskFreeSpaceInfo::freeSpaceInfo( m_mountPoint ).isValid();
+ return QStorageInfo( m_mountPoint ).isValid();
}
float
IpodCollection::usedCapacity() const
{
- return KDiskFreeSpaceInfo::freeSpaceInfo( m_mountPoint ).used();
+ return QStorageInfo( m_mountPoint ).bytesTotal() - QStorageInfo( m_mountPoint ).bytesFree();
}
float
IpodCollection::totalCapacity() const
{
- return KDiskFreeSpaceInfo::freeSpaceInfo( m_mountPoint ).size();
+ return QStorageInfo( m_mountPoint ).bytesTotal();
}
Collections::CollectionLocation*
diff --git a/src/core-impl/collections/mediadevicecollection/MediaDeviceCollection.cpp b/src/core-impl/collections/mediadevicecollection/MediaDeviceCollection.cpp
index 0eec859ffd..f6795e733a 100644
--- a/src/core-impl/collections/mediadevicecollection/MediaDeviceCollection.cpp
+++ b/src/core-impl/collections/mediadevicecollection/MediaDeviceCollection.cpp
@@ -24,8 +24,6 @@
#include "core-impl/collections/mediadevicecollection/support/MediaDeviceInfo.h"
#include "core-impl/collections/support/MemoryQueryMaker.h"
-#include <KDiskFreeSpaceInfo>
-
using namespace Collections;
MediaDeviceCollectionFactoryBase::MediaDeviceCollectionFactoryBase( ConnectionAssistant* assistant )
diff --git a/src/core-impl/collections/umscollection/UmsCollection.cpp b/src/core-impl/collections/umscollection/UmsCollection.cpp
index 32873350e9..0ac4b438fb 100644
--- a/src/core-impl/collections/umscollection/UmsCollection.cpp
+++ b/src/core-impl/collections/umscollection/UmsCollection.cpp
@@ -44,12 +44,12 @@
#include <Solid/StorageDrive>
#include <Solid/StorageVolume>
+#include <QStorageInfo>
#include <QThread>
#include <QTimer>
#include <QUrl>
#include <KConfigGroup>
-#include <KDiskFreeSpaceInfo>
UmsCollectionFactory::UmsCollectionFactory()
@@ -407,13 +407,13 @@ UmsCollection::hasCapacity() const
float
UmsCollection::usedCapacity() const
{
- return KDiskFreeSpaceInfo::freeSpaceInfo( m_mountPoint ).used();
+ return QStorageInfo( m_mountPoint ).bytesTotal()-QStorageInfo( m_mountPoint ).bytesFree();
}
float
UmsCollection::totalCapacity() const
{
- return KDiskFreeSpaceInfo::freeSpaceInfo( m_mountPoint ).size();
+ return QStorageInfo( m_mountPoint ).bytesTotal();
}
CollectionLocation *
--
GitLab
From 7b1af767ba420e175a0f2f3c0486a3e49730c33e Mon Sep 17 00:00:00 2001
From: Tuomas Nurmi <tuomas@norsumanageri.org>
Date: Fri, 10 Mar 2023 19:41:19 +0200
Subject: [PATCH 8/8] Update KF5 and Qt5 requirements in README.
---
README | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README b/README
index f2639a2a7c..346094923f 100644
--- a/README
+++ b/README
@@ -39,14 +39,14 @@ not be entirely up to date. You can always look at CMakeLists.txt to discover
the most recent dependencies.
Required
- * KDE Frameworks 5.41 (or newer, for an exact list look at CMakeLists.txt)
+ * KDE Frameworks 5.57 (or newer, for an exact list look at CMakeLists.txt)
https://www.kde.org
* Phonon 4.6.60 (or newer with support for Qt5) and one of the following backends:
* phonon-gstreamer 4.6.3 (or newer)
* phonon-vlc 0.6.1 (or newer; as of 0.6.1 doesn't yet play Audio CDs, bug 313046)
- * Qt 5.10 (or newer)
+ * Qt 5.15
https://qt.io/
* TagLib 1.7 (or newer)
--
GitLab

View File

@ -0,0 +1,31 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d9b0944e0..99c22bda33 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -188,8 +188,13 @@ if( CMAKE_BUILD_TYPE_TOLOWER MATCHES debug )
add_definitions(-Wall -Wextra)
endif()
+# this needs to be here because also code in shared/ needs config.h. This is also the
+# reason why various checks are above why they belong under if( WITH_PLAYER )
+configure_file( shared/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/shared/config.h )
+
add_subdirectory( data )
add_subdirectory( images )
+add_subdirectory( shared )
if( WITH_PLAYER )
find_package(X11)
@@ -309,12 +314,6 @@ if( WITH_PLAYER )
endif()
-# this needs to be here because also code in shared/ needs config.h. This is also the
-# reason why various checks are above why they belong under if( WITH_PLAYER )
-configure_file( shared/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/shared/config.h )
-
-add_subdirectory( shared )
-
if( WITH_UTILITIES )
add_subdirectory( utilities )
endif()