Amarok/Development/KF5port/Status

From KDE Community Wiki

This page is meant to show the status of the port of Amarok to Qt5/Frameworks5 and Plasma5.

General

There have been some changes like inclusion of headers, conversion from QString to QUrl (by using QUrl::fromUserInput or QUrl::fromLocalFile), conversion from "signals" to "Q_SIGNALS", changing of style of the cmake files, that haven't been mentioned explicitly for the different files.

For moving to KF5::ThreadWeaver, the following changes have been made to the classes that previously inherited from ThreadWeaver::Job.

  • QObject is also inherited now in these classes.
  • The signals like done, failed, started have been added.
  • defaultBegin, defaultEnd functions have been added in the definitions. The definition of the run function has been changed to include the new parameters.


In KF5 the decorator ThreadWeaver::QObjectDecorator includes the above signals and functions but to use it we have to decorate our existing job classes which means that a new class has to be created(and a lot of other changes too) and due to this it seemed easier to directly put all the functionality of QObjectDecorator into our existing classes. In doing so, we can easily connect signals to the correct slots in the constructor call of the job class itself hence minimizing the no. of changes required to use KF5::ThreadWeaver.

There are some files that didn't need any porting to Qt5/KF5 but nonetheless these have marked as "Done" under the Qt5 Port & KF5 Port column.

Status of targets

This shows the status of the port of the files and these files are divided according to the targets.

Please use the following markups where needed:

* DONE
* INCOMPLETE
* TODO


amarokshared

Target files Cmake Port Qt5 Port KF5 Port Compiles? Warnings? Remarks/Changes
shared/CMakeLists.txt DONE -- -- -- --
  • amarokshared is dependent on Qt5::Core, Qt5::Gui
shared/FileType.cpp -- DONE DONE Yes No --
shared/FileTypeResolver.cpp -- DONE DONE Yes Yes
  • KMimeType changed to QMimeType
shared/MetaReplayGain.cpp -- DONE DONE Yes No --
shared/MetaTagLib.cpp -- DONE DONE Yes Yes --
shared/TagsFromFileNameGuesser.cpp -- DONE DONE Yes No --
shared/collectionscanner/Album.cpp -- DONE DONE Yes No --
shared/collectionscanner/BatchFile.cpp -- DONE DONE Yes No --
shared/collectionscanner/Directory.cpp -- DONE DONE Yes No --
shared/collectionscanner/Playlist.cpp -- DONE DONE Yes No --
shared/collectionscanner/ScanningState.cpp -- DONE DONE Yes No * QDataStream header added
shared/collectionscanner/Track.cpp -- DONE DONE Yes No --
shared/tag_helpers/APETagHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/ASFTagHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/ID3v2TagHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/MP4TagHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/StringHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/TagHelper.cpp -- DONE DONE Yes No --
shared/tag_helpers/VorbisCommentTagHelper.cpp -- DONE DONE Yes No --


amarokcore

Target files Cmake Port Qt5 Port KF5 Port Compiles? Warnings? Remarks/Changes
src/core/CMakeLists.txt DONE -- -- -- --
  • amarokcore now depends on KF5::KIOCore,KF5::ThreadWeaver, KF5::KDELibs4Support, KF5::I18n too.
src/core/podcasts/PodcastReader.cpp -- DONE DONE Yes No
  • moc include removed.
  • KUrl to QUrl conversion done.
src/core/podcasts/PodcastMeta.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done
src/core/podcasts/PodcastImageFetcher.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/podcasts/PodcastProvider.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/interfaces/Logger.cpp -- DONE DONE Yes No --
src/core/interfaces/MetaCapability.cpp -- DONE DONE Yes No --
src/core/collections/Collection.cpp -- DONE DONE Yes No
  • moc include removed.
  • KUrl to QUrl conversion done.
  • KIcon to QIcon conversion done.
src/core/collections/CollectionLocation.cpp -- DONE DONE Yes No
  • moc include removed.
  • KUrl to QUrl conversion done.
src/core/collections/MetaQueryMaker.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/collections/QueryMaker.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/collections/support/TrackForUrlWorker.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
  • Use KF5::ThreadWeaver.
src/core/storage/StorageFactory.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/playlists/Playlist.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/playlists/PlaylistFormat.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/playlists/PlaylistProvider.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/meta/Base.cpp -- DONE DONE Yes No --
src/core/meta/Meta.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/meta/Observer.cpp -- DONE DONE Yes No --
src/core/meta/Statistics.cpp -- DONE DONE Yes No --
src/core/meta/TrackEditor.cpp -- DONE DONE Yes No --
src/core/meta/support/MetaConstants.cpp -- DONE DONE Yes No --
src/core/meta/support/MetaUtility.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/meta/support/MetaKeys.cpp -- DONE DONE Yes No --
src/core/meta/support/PrivateMetaRegistry.cpp -- DONE DONE Yes No --
src/core/capabilities/Capability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/ActionsCapability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/BookmarkThisCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/BoundedPlaybackCapability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/CollectionScanCapability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/CollectionImportCapability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/FindInSourceCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/MultiPlayableCapability.cpp -- DONE DONE Yes No
  • moc include removed.
  • KUrl to QUrl conversion done.
src/core/capabilities/MultiSourceCapability.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/core/capabilities/OrganiseCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/ReadLabelCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/SourceInfoCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/StreamInfoCapability.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/capabilities/TranscodeCapability.cpp -- DONE DONE Yes No --
src/core/capabilities/WriteLabelCapability.cpp -- DONE DONE Yes No --
src/core/support/Amarok.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/support/Components.cpp -- DONE DONE Yes No --
src/core/support/SemaphoreReleaser.cpp -- DONE DONE Yes No --
src/core/support/SmartPointerList.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/support/PluginFactory.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/support/Debug.cpp -- DONE DONE Yes No --
src/core/transcoding/formats/TranscodingNullFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingAacFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingAlacFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingFlacFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingMp3Format.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingOpusFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingVorbisFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingWmaFormat.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/core/transcoding/formats/TranscodingConfiguration.cpp -- DONE DONE Yes No

--

src/core/transcoding/formats/TranscodingController.cpp -- DONE DONE Yes No
  • moc include removed.
src/core/transcoding/formats/TranscodingProperty.cpp -- DONE DONE Yes No

--


amarokpud

Target files Cmake Port Qt5 Port KF5 Port Compiles? Warnings? Remarks/Changes
src/context/CMakeLists.txt DONE -- -- -- --
  • amarokpud is dependent on Qt5::Core, Qt5::Gui, Qt5::Svg, Qt5::Widgets, Qt5::Svg.
src/context/popupdropper/libpud/PopupDropper.cpp -- DONE DONE Yes No
  • Removed moc include.
src/context/popupdropper/libpud/PopupDropperItem.cpp -- DONE DONE Yes No
  • Removed moc include.
src/context/popupdropper/libpud/PopupDropperView.cpp -- DONE DONE Yes No
  • Removed moc include.


amarok-transcoding

Target files Cmake Port Qt5 Port KF5 Port Compiles? Warnings? Remarks/Changes
src/transcoding/CMakeLists.txt DONE -- -- -- --
  • amarok-transcoding depends on KF5::KDELibs4Support, KF5::KIOCore, KF5::ThreadWeaver, Qt5::Core, Qt5::Gui.
src/transcoding/TranscodingJob.cpp -- DONE DONE Yes No
  • KUrl to QUrl conversion done.
src/transcoding/TranscodingAssistantDialog.cpp -- DONE DONE Yes No
  • Removed moc include.
  • KIcon to QIcon conversion done.
  • KDialog to QDialog conversion done.
src/transcoding/TranscodingOptionsStackedWidget.cpp -- DONE DONE Yes No
  • KIcon to QIcon conversion done.
src/transcoding/TranscodingPropertyWidget.cpp -- DONE DONE Yes No --
src/transcoding/TranscodingPropertySliderWidget.cpp -- DONE DONE Yes No --
src/transcoding/TranscodingSelectConfigWidget.cpp -- DONE DONE Yes No
  • moc include removed.
  • KIcon to QIcon conversion done.