--- a/HACKING/intro_and_style.txt
+++ b/HACKING/intro_and_style.txt
@@ -49,7 +49,7 @@ Example:
  |      * when you do not need it outside the loop. Let the compiler
  |      * optimise it. */
  |     foreach( const QString &string, list )
- |         debug() << "Current string is " << string << endl;
+ |         debug() << "Current string is " << string << Qt::endl;
  |
  |     switch( m_enumValue )
  |     {
--- a/src/core-impl/collections/db/sql/SqlQueryMaker.cpp
+++ b/src/core-impl/collections/db/sql/SqlQueryMaker.cpp
@@ -181,7 +181,7 @@ SqlQueryMaker::run()
 {
     if( d->queryType == QueryMaker::None || (d->blocking && d->used) )
     {
-        debug() << "sql querymaker used without reset or initialization" << endl;
+        debug() << "sql querymaker used without reset or initialization" << Qt::endl;
         return; //better error handling?
     }
     if( d->worker && !d->worker->isFinished() )
--- a/src/core-impl/collections/db/sql/SqlReadLabelCapability.cpp
+++ b/src/core-impl/collections/db/sql/SqlReadLabelCapability.cpp
@@ -41,7 +41,7 @@ SqlReadLabelCapability::fetch( const QSt
 
     if( !m_storage )
     {
-        debug() << "Could not get SqlStorage, aborting" << endl;
+        debug() << "Could not get SqlStorage, aborting" << Qt::endl;
         return;
     }
 
--- a/src/core-impl/collections/db/sql/SqlWriteLabelCapability.cpp
+++ b/src/core-impl/collections/db/sql/SqlWriteLabelCapability.cpp
@@ -38,7 +38,7 @@ SqlWriteLabelCapability::setLabels( cons
 
     if( !m_storage )
     {
-        debug() << "Could not get SqlStorage, aborting" << endl;
+        debug() << "Could not get SqlStorage, aborting" << Qt::endl;
         return;
     }
 
--- a/src/core-impl/collections/mtpcollection/handler/MtpHandler.cpp
+++ b/src/core-impl/collections/mtpcollection/handler/MtpHandler.cpp
@@ -882,12 +882,12 @@ MtpHandler::libSavePlaylist( const Playl
 
     QString genericError = i18n( "Could not save playlist." );
 
-    debug() << "creating new playlist : " << metadata->name << endl;
+    debug() << "creating new playlist : " << metadata->name << Qt::endl;
     int ret = LIBMTP_Create_New_Playlist( m_device, metadata );
     if( ret == 0 )
     {
         m_mtpPlaylisthash[ playlist ] = metadata;
-        debug() << "playlist saved : " << metadata->playlist_id << endl;
+        debug() << "playlist saved : " << metadata->playlist_id << Qt::endl;
     }
     else
         debug () << "Could not create new playlist on device.";
@@ -930,7 +930,7 @@ MtpHandler::renamePlaylist( const Playli
 
     if( pl )
     {
-        debug() << "updating playlist : " << pl->name << endl;
+        debug() << "updating playlist : " << pl->name << Qt::endl;
         int ret = LIBMTP_Update_Playlist( m_device, pl );
         if( ret != 0 )
         {
--- a/src/core-impl/meta/cue/CueFileSupport.cpp
+++ b/src/core-impl/meta/cue/CueFileSupport.cpp
@@ -262,7 +262,7 @@ QUrl CueFileSupport::locateCueSheet ( co
             QFile file ( dir.filePath ( *it ) );
             if ( file.open ( QIODevice::ReadOnly ) )
             {
-                debug() << "[CUEFILE]: " << *it << " - Opened, looking for the matching FILE stanza." << endl;
+                debug() << "[CUEFILE]: " << *it << " - Opened, looking for the matching FILE stanza." << Qt::endl;
                 QTextStream stream ( &file );
                 QString line;
 
@@ -280,7 +280,7 @@ QUrl CueFileSupport::locateCueSheet ( co
 
                             if ( validateCueSheet ( cueFile ) )
                             {
-                                debug() << "[CUEFILE]: " << cueFile << " - Looked inside cue files, found and loaded proper one" << endl;
+                                debug() << "[CUEFILE]: " << cueFile << " - Looked inside cue files, found and loaded proper one" << Qt::endl;
                                 foundCueFile = true;
                             }
                         }
@@ -293,7 +293,7 @@ QUrl CueFileSupport::locateCueSheet ( co
 
     if ( foundCueFile )
         return QUrl::fromLocalFile( cueFile );
-    debug() << "[CUEFILE]: - Didn't find any matching cue file." << endl;
+    debug() << "[CUEFILE]: - Didn't find any matching cue file." << Qt::endl;
     return QUrl();
 }
 
--- a/src/core-impl/playlists/types/file/pls/PLSPlaylist.cpp
+++ b/src/core-impl/playlists/types/file/pls/PLSPlaylist.cpp
@@ -85,7 +85,7 @@ PLSPlaylist::loadPls( QTextStream &textS
     {
         warning() << ".pls playlist: Invalid \"NumberOfEntries\" value.  "
                 << "NumberOfEntries=" << numberOfEntries << "  counted="
-                << entryCnt << endl;
+                << entryCnt << Qt::endl;
         /* Corrupt file. The "NumberOfEntries" value is
         * not correct. Fix it by setting it to the manually
         * counted number and go on parsing.
@@ -163,10 +163,10 @@ PLSPlaylist::loadPls( QTextStream &textS
             tmp = (*i).section( QLatin1Char('='), 1 ).trimmed();
             // We only support Version=2
             if (tmp.toUInt( &ok ) != 2)
-                warning() << ".pls playlist: Unsupported version." << endl;
+                warning() << ".pls playlist: Unsupported version." << Qt::endl;
             continue;
         }
-        warning() << ".pls playlist: Unrecognized line: \"" << *i << "\"" << endl;
+        warning() << ".pls playlist: Unrecognized line: \"" << *i << "\"" << Qt::endl;
     }
     return true;
 }
@@ -211,6 +211,6 @@ PLSPlaylist::savePlaylist( QFile &file )
    }
 
    //footer
-   stream << "NumberOfEntries=" << m_tracks.count() << endl;
+   stream << "NumberOfEntries=" << m_tracks.count() << Qt::endl;
    stream << "Version=2\n";
 }
--- a/src/core/support/Debug.cpp
+++ b/src/core/support/Debug.cpp
@@ -221,5 +221,5 @@ Block::~Block()
 void Debug::stamp()
 {
     static int n = 0;
-    debug() << "| Stamp: " << ++n << endl;
+    debug() << "| Stamp: " << ++n << Qt::endl;
 }
--- a/src/core/support/Debug.h
+++ b/src/core/support/Debug.h
@@ -99,8 +99,8 @@
  *     {
  *        Debug::Block myBlock( __PRETTY_FUNCTION__ );
  *
- *        debug() << "output1" << endl;
- *        debug() << "output2" << endl;
+ *        debug() << "output1" << Qt::endl;
+ *        debug() << "output2" << Qt::endl;
  *     }
  *
  * Will output:
@@ -164,10 +164,10 @@ using Debug::fatal;
 #define DEBUG_BLOCK Debug::Block uniquelyNamedStackAllocatedStandardBlock( __PRETTY_FUNCTION__ );
 
 /// Use this to remind yourself to finish the implementation of a function
-#define AMAROK_NOTIMPLEMENTED warning() << "NOT-IMPLEMENTED:" << __PRETTY_FUNCTION__ << endl;
+#define AMAROK_NOTIMPLEMENTED warning() << "NOT-IMPLEMENTED:" << __PRETTY_FUNCTION__ << Qt::endl;
 
 /// Use this to alert other developers to stop using a function
-#define AMAROK_DEPRECATED warning() << "DEPRECATED:" << __PRETTY_FUNCTION__ << endl;
+#define AMAROK_DEPRECATED warning() << "DEPRECATED:" << __PRETTY_FUNCTION__ << Qt::endl;
 
 /// Performance logging
 #define PERF_LOG( msg ) { Debug::perfLog( msg, __PRETTY_FUNCTION__ ); }
@@ -186,8 +186,8 @@ namespace Debug
      *     {
      *         Debug::Block myBlock( "section" );
      *
-     *         debug() << "output1" << endl;
-     *         debug() << "output2" << endl;
+     *         debug() << "output1" << Qt::endl;
+     *         debug() << "output2" << Qt::endl;
      *     }
      *
      * Will output:
@@ -237,7 +237,7 @@ namespace Debug
      * @class Debug::List
      * @short You can pass anything to this and it will output it as a list
      *
-     *     debug() << (Debug::List() << anInt << aString << aQStringList << aDouble) << endl;
+     *     debug() << (Debug::List() << anInt << aString << aQStringList << aDouble) << Qt::endl;
      */
 
     typedef QList<QVariant> List;
--- a/src/dialogs/TagDialog.cpp
+++ b/src/dialogs/TagDialog.cpp
@@ -492,7 +492,7 @@ TagDialog::guessFromFilename() //SLOT
         }
         else
         {
-            debug() << "guessing tags from filename failed" << endl;
+            debug() << "guessing tags from filename failed" << Qt::endl;
         }
     }
 }
--- a/src/moodbar/MoodbarManager.cpp
+++ b/src/moodbar/MoodbarManager.cpp
@@ -355,7 +355,7 @@ MoodbarColorList MoodbarManager::readMoo
 
         //debug() << "ReadMood: Applying filter t=" << threshold
         //        << ", rS=" << rangeStart << ", rD=" << rangeDelta
-        //        << ", s=" << sat << "%, v=" << val << "%" << endl;
+        //        << ", s=" << sat << "%, v=" << val << "%" << Qt::endl;
 
         // On average, huedist[i] = samples / 360.  This counts the
         // number of samples over the threshold, which is usually
--- a/src/services/lastfm/biases/WeeklyTopBias.cpp
+++ b/src/services/lastfm/biases/WeeklyTopBias.cpp
@@ -480,7 +480,7 @@ Dynamic::WeeklyTopBias::saveDataToFile()
     QTextStream out( &file );
     foreach( uint key, m_weeklyArtistMap.keys() )
     {
-        out << key << "#" << m_weeklyArtistMap[ key ].join( "^" ) << endl;
+        out << key << "#" << m_weeklyArtistMap[ key ].join( "^" ) << Qt::endl;
     }
     file.close();
 
--- a/src/services/magnatune/MagnatuneDownloadHandler.cpp
+++ b/src/services/magnatune/MagnatuneDownloadHandler.cpp
@@ -103,7 +103,7 @@ void MagnatuneDownloadHandler::xmlDownlo
     KIO::StoredTransferJob* const storedJob = static_cast<KIO::StoredTransferJob*>( downloadJob );
     QString resultXml = QString( storedJob->data() );
 
-    debug() << endl << endl << "result: " << resultXml;
+    debug() << Qt::endl << Qt::endl << "result: " << resultXml;
 
 
     if ( !m_albumDownloader )
--- a/src/services/magnatune/MagnatuneRedownloadHandler.cpp
+++ b/src/services/magnatune/MagnatuneRedownloadHandler.cpp
@@ -170,7 +170,7 @@ void MagnatuneRedownloadHandler::redownl
     KIO::StoredTransferJob* const storedJob = static_cast<KIO::StoredTransferJob*>( job );
     QString resultXml = QString( storedJob->data() );
 
-    debug() << endl << endl << "result: " << resultXml;
+    debug() << Qt::endl << Qt::endl << "result: " << resultXml;
 
 
     QList<MagnatuneDownloadInfo> previousPurchasesInfoList;
--- a/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp
+++ b/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp
@@ -109,7 +109,7 @@ Mp3tunesHarmonyDaemon::allAboardTheDBus(
     const QString pidSuffix = QString::number( applicationPid() ).prepend( QLatin1String("-") );
     const QString serviceName = reversedDomain + this->applicationName().remove( ' ' ) + pidSuffix;
     if ( bus->registerService(serviceName) == QDBusConnectionInterface::ServiceNotRegistered ) {
-        qDebug() << "FATAL: Couldn't register   name '" << serviceName << "' with DBUS - another process owns it already!" << endl;
+        qDebug() << "FATAL: Couldn't register   name '" << serviceName << "' with DBUS - another process owns it already!" << Qt::endl;
         ::exit(126);
         return false;
     }
--- a/utilities/afttagger/AFTTagger.cpp
+++ b/utilities/afttagger/AFTTagger.cpp
@@ -96,7 +96,7 @@ AFTTagger::AFTTagger( int &argc, char **
 
         if( response != "y" && response != "Y")
         {
-            m_textStream << tr( "INFO: Terms not accepted; exiting..." ) << endl;
+            m_textStream << tr( "INFO: Terms not accepted; exiting..." ) << Qt::endl;
             ::exit( 1 );
         }
     }
@@ -107,7 +107,7 @@ AFTTagger::AFTTagger( int &argc, char **
     foreach( const QString &path, m_fileFolderList )
         processPath( path );
 
-    m_textStream << tr( "INFO: All done, exiting..." ) << endl;
+    m_textStream << tr( "INFO: All done, exiting..." ) << Qt::endl;
     ::exit( 0 );
 }
 
@@ -118,7 +118,7 @@ AFTTagger::processPath( const QString &p
     if( !info.isDir() && !info.isFile() )
     {
         if( m_verbose )
-            m_textStream << tr( "INFO: Skipping %1 because it is neither a directory nor file." ).arg( path ) << endl;
+            m_textStream << tr( "INFO: Skipping %1 because it is neither a directory nor file." ).arg( path ) << Qt::endl;
         return;
     }
     if( info.isDir() )
@@ -126,13 +126,13 @@ AFTTagger::processPath( const QString &p
         if( !m_recurse )
         {
             if( m_verbose )
-               m_textStream << tr( "INFO: Skipping %1 because it is a directory and recursion is not specified." ).arg( path ) << endl;
+               m_textStream << tr( "INFO: Skipping %1 because it is a directory and recursion is not specified." ).arg( path ) << Qt::endl;
             return;
         }
         else
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: Processing directory %1" ).arg( path ) << endl;
+                m_textStream << tr( "INFO: Processing directory %1" ).arg( path ) << Qt::endl;
             foreach( const QString &pathEntry, QDir( path ).entryList() )
             {
                 if( pathEntry != QLatin1String(".") && pathEntry != QLatin1String("..") )
@@ -157,11 +157,11 @@ AFTTagger::processPath( const QString &p
         if( fileRef.isNull() )
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: file %1 not able to be opened by TagLib" ).arg( filePath ) << endl;
+                m_textStream << tr( "INFO: file %1 not able to be opened by TagLib" ).arg( filePath ) << Qt::endl;
             return;
         }
 
-        m_textStream << tr( "INFO: Processing file %1" ).arg( filePath ) << endl;
+        m_textStream << tr( "INFO: Processing file %1" ).arg( filePath ) << Qt::endl;
 
         SafeFileSaver sfs( filePath );
         sfs.setVerbose( false );
@@ -169,12 +169,12 @@ AFTTagger::processPath( const QString &p
         QString tempFilePath = sfs.prepareToSave();
         if( tempFilePath.isEmpty() )
         {
-            m_textStream << tr( "Error: could not create temporary file when processing %1" ).arg( filePath ) << endl;
+            m_textStream << tr( "Error: could not create temporary file when processing %1" ).arg( filePath ) << Qt::endl;
             return;
         }
 
         if( m_verbose )
-            m_textStream << tr( "INFO: Temporary file is at %1").arg( tempFilePath ) << endl;
+            m_textStream << tr( "INFO: Temporary file is at %1").arg( tempFilePath ) << Qt::endl;
 
 #ifdef COMPLEX_TAGLIB_FILENAME
     const wchar_t *encodedName = reinterpret_cast< const wchar_t * >(tempFilePath.utf16());
@@ -199,22 +199,22 @@ AFTTagger::processPath( const QString &p
         else
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: File not able to be parsed by TagLib or wrong kind (currently this program only supports MPEG, Ogg MP4, MPC, and FLAC files), cleaning up temp file" ) << endl;
+                m_textStream << tr( "INFO: File not able to be parsed by TagLib or wrong kind (currently this program only supports MPEG, Ogg MP4, MPC, and FLAC files), cleaning up temp file" ) << Qt::endl;
             if( !sfs.cleanupSave() )
-                m_textStream << tr( "WARNING: file at %1 could not be cleaned up; check for strays" ).arg( filePath ) << endl;
+                m_textStream << tr( "WARNING: file at %1 could not be cleaned up; check for strays" ).arg( filePath ) << Qt::endl;
             return;
         }
         if( saveNecessary )
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: Safe-saving file" ) << endl;
+                m_textStream << tr( "INFO: Safe-saving file" ) << Qt::endl;
             if( !sfs.doSave() )
-                m_textStream << tr( "WARNING: file at %1 could not be saved" ).arg( filePath ) << endl;
+                m_textStream << tr( "WARNING: file at %1 could not be saved" ).arg( filePath ) << Qt::endl;
         }
         if( m_verbose )
-            m_textStream << tr( "INFO: Cleaning up..." ) << endl;
+            m_textStream << tr( "INFO: Cleaning up..." ) << Qt::endl;
         if( !sfs.cleanupSave() )
-            m_textStream << tr( "WARNING: file at %1 could not be cleaned up; check for strays" ).arg( filePath ) << endl;
+            m_textStream << tr( "WARNING: file at %1 could not be cleaned up; check for strays" ).arg( filePath ) << Qt::endl;
         return;
     }
 }
@@ -224,7 +224,7 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
 {
     if( file->readOnly() )
     {
-        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << endl;
+        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << Qt::endl;
         return false;
     }
 
@@ -232,13 +232,13 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
     bool newUid = false;
     bool nothingfound = true;
     if( m_verbose )
-        m_textStream << tr( "INFO: File is a MPEG file, opening..." ) << endl;
+        m_textStream << tr( "INFO: File is a MPEG file, opening..." ) << Qt::endl;
     if ( file->ID3v2Tag( true ) )
     {
         if( file->ID3v2Tag()->frameListMap()["UFID"].isEmpty() )
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: No UFID frames found" ) << endl;
+                m_textStream << tr( "INFO: No UFID frames found" ) << Qt::endl;
 
             if( m_delete )
                 return false;
@@ -248,11 +248,11 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
         else
         {
             if( m_verbose )
-                m_textStream << tr( "INFO: Found existing UFID frames, parsing" )  << endl;
+                m_textStream << tr( "INFO: Found existing UFID frames, parsing" )  << Qt::endl;
             TagLib::ID3v2::FrameList frameList = file->ID3v2Tag()->frameListMap()["UFID"];
             TagLib::ID3v2::FrameList::Iterator iter;
             if( m_verbose )
-                m_textStream << tr( "INFO: Frame list size is %1" ).arg( frameList.size() ) << endl;
+                m_textStream << tr( "INFO: Frame list size is %1" ).arg( frameList.size() ) << Qt::endl;
             for( iter = frameList.begin(); iter != frameList.end(); ++iter )
             {
                 TagLib::ID3v2::UniqueFileIdentifierFrame* currFrame = dynamic_cast<TagLib::ID3v2::UniqueFileIdentifierFrame*>(*iter);
@@ -263,7 +263,7 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
                     {
                         nothingfound = false;
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Removing old-style ATF identifier" ) << endl;
+                            m_textStream << tr( "INFO: Removing old-style ATF identifier" ) << Qt::endl;
 
                         iter = frameList.erase( iter );
                         file->ID3v2Tag()->removeFrame( currFrame );
@@ -277,13 +277,13 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
                     {
                         nothingfound = false;
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( TStringToQString( TagLib::String( currFrame->identifier() ) ) ) << endl;
+                            m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( TStringToQString( TagLib::String( currFrame->identifier() ) ) ) << Qt::endl;
 
                         if( m_delete )
                         {
                             iter = frameList.erase( iter );
                             if( m_verbose )
-                                m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                                m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                             file->ID3v2Tag()->removeFrame( currFrame );
                             file->save();
                             return true;
@@ -293,10 +293,10 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
                         if( version < s_currentVersion )
                         {
                             if( m_verbose )
-                                m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << endl;
+                                m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << Qt::endl;
                             uid = upgradeUID( version, TStringToQString( TagLib::String( currFrame->identifier() ) ) );
                             if( m_verbose )
-                                m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                                m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                             iter = frameList.erase( iter );
                             file->ID3v2Tag()->removeFrame( currFrame );
                             newUid = true;
@@ -304,7 +304,7 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
                         else if( version == s_currentVersion && m_newid )
                         {
                             if( m_verbose )
-                                m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << endl;
+                                m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << Qt::endl;
                             iter = frameList.erase( iter );
                             file->ID3v2Tag()->removeFrame( currFrame );
                             newUid = true;
@@ -312,7 +312,7 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
                         else
                         {
                             if( m_verbose )
-                                m_textStream << tr( "INFO: ID is current" ) << endl;
+                                m_textStream << tr( "INFO: ID is current" ) << Qt::endl;
                         }
                     }
                 }
@@ -324,7 +324,7 @@ AFTTagger::handleMPEG( TagLib::MPEG::Fil
             if( uid.isEmpty() )
                 uid = createCurrentUID( file );
             if( m_verbose )
-                m_textStream << tr( "INFO: Adding new frame and saving file with UID: %1" ).arg( uid ) << endl;
+                m_textStream << tr( "INFO: Adding new frame and saving file with UID: %1" ).arg( uid ) << Qt::endl;
             file->ID3v2Tag()->addFrame( new TagLib::ID3v2::UniqueFileIdentifierFrame(
                 Qt5QStringToTString( ourId ), Qt5QStringToTString( uid ).data( TagLib::String::Latin1 ) ) );
             file->save();
@@ -339,7 +339,7 @@ AFTTagger::handleOgg( TagLib::Ogg::File
 {
     if( file->readOnly() )
     {
-        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << endl;
+        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << Qt::endl;
         return false;
     }
 
@@ -362,7 +362,7 @@ AFTTagger::handleFLAC( TagLib::FLAC::Fil
 {
     if( file->readOnly() )
     {
-        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << endl;
+        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << Qt::endl;
         return false;
     }
 
@@ -387,12 +387,12 @@ AFTTagger::handleXiphComment( TagLib::Og
     bool nothingfound = true;
     TagLib::StringList toRemove;
     if( m_verbose )
-        m_textStream << tr( "INFO: File has a XiphComment, opening..." ) << endl;
+        m_textStream << tr( "INFO: File has a XiphComment, opening..." ) << Qt::endl;
 
     if( comment->fieldListMap().isEmpty() )
     {
         if( m_verbose )
-            m_textStream << tr( "INFO: No fields found in XiphComment" ) << endl;
+            m_textStream << tr( "INFO: No fields found in XiphComment" ) << Qt::endl;
 
         if( m_delete )
             return false;
@@ -400,11 +400,11 @@ AFTTagger::handleXiphComment( TagLib::Og
     else
     {
         if( m_verbose )
-            m_textStream << tr( "INFO: Found existing XiphComment frames, parsing" )  << endl;
+            m_textStream << tr( "INFO: Found existing XiphComment frames, parsing" )  << Qt::endl;
         TagLib::Ogg::FieldListMap fieldListMap = comment->fieldListMap();
 
         if( m_verbose )
-            m_textStream << tr( "INFO: fieldListMap size is %1" ).arg( fieldListMap.size() ) << endl;
+            m_textStream << tr( "INFO: fieldListMap size is %1" ).arg( fieldListMap.size() ) << Qt::endl;
 
         TagLib::Ogg::FieldListMap::Iterator iter;
         for( iter = fieldListMap.begin(); iter != fieldListMap.end(); ++iter )
@@ -416,7 +416,7 @@ AFTTagger::handleXiphComment( TagLib::Og
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( qkey ) << endl;
+                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( qkey ) << Qt::endl;
 
                 toRemove.append( key );
                 if( !m_delete )
@@ -427,40 +427,40 @@ AFTTagger::handleXiphComment( TagLib::Og
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( qkey ) << endl;
+                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( qkey ) << Qt::endl;
 
                 if( m_delete )
                 {
                     toRemove.append( key );
                     if( m_verbose )
-                        m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                        m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                 }
                 else
                 {
                     int version = qkey.at( 13 ).digitValue();
                     if( m_verbose )
-                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << endl;
+                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << Qt::endl;
                     if( version < s_currentVersion )
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << endl;
+                            m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << Qt::endl;
                         uid = upgradeUID( version, TStringToQString( fieldListMap[key].front() ) );
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                            m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else if( version == s_currentVersion && m_newid )
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << endl;
+                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: ID is current" ) << endl;
+                            m_textStream << tr( "INFO: ID is current" ) << Qt::endl;
                         return false;
                     }
                 }
@@ -475,7 +475,7 @@ AFTTagger::handleXiphComment( TagLib::Og
         if( uid.isEmpty() )
             uid = createCurrentUID( file );
         if( m_verbose )
-            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << endl;
+            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << Qt::endl;
         comment->addField( Qt5QStringToTString( ourId ), Qt5QStringToTString( uid ) );
         return true;
     }
@@ -490,7 +490,7 @@ AFTTagger::handleMPC( TagLib::MPC::File
 {
     if( file->readOnly() )
     {
-        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << endl;
+        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << Qt::endl;
         return false;
     }
 
@@ -499,14 +499,14 @@ AFTTagger::handleMPC( TagLib::MPC::File
     bool nothingfound = true;
     TagLib::StringList toRemove;
     if( m_verbose )
-        m_textStream << tr( "INFO: File is a MPC file, opening..." ) << endl;
+        m_textStream << tr( "INFO: File is a MPC file, opening..." ) << Qt::endl;
 
     if( file->APETag() )
     {
         const TagLib::APE::ItemListMap &itemsMap = file->APETag()->itemListMap();
         if( itemsMap.isEmpty() )
         {
-          m_textStream << tr( "INFO: No fields found in APE tags." ) << endl;
+          m_textStream << tr( "INFO: No fields found in APE tags." ) << Qt::endl;
 
           if( m_delete )
               return false;
@@ -521,7 +521,7 @@ AFTTagger::handleMPC( TagLib::MPC::File
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( qkey ) << endl;
+                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( qkey ) << Qt::endl;
 
                 toRemove.append( key );
                 if( !m_delete )
@@ -532,40 +532,40 @@ AFTTagger::handleMPC( TagLib::MPC::File
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( qkey ) << endl;
+                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( qkey ) << Qt::endl;
 
                 if( m_delete )
                 {
                     toRemove.append( key );
                     if( m_verbose )
-                        m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                        m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                 }
                 else
                 {
                     int version = qkey.at( 13 ).digitValue();
                     if( m_verbose )
-                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << endl;
+                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << Qt::endl;
                     if( version < s_currentVersion )
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << endl;
+                            m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" ).arg( version, s_currentVersion ) << Qt::endl;
                         uid = upgradeUID( version, TStringToQString( itemsMap[ key ].toString() ) );
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                            m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else if( version == s_currentVersion && m_newid )
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << endl;
+                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: ID is current" ) << endl;
+                            m_textStream << tr( "INFO: ID is current" ) << Qt::endl;
                         return false;
                     }
                 }
@@ -581,7 +581,7 @@ AFTTagger::handleMPC( TagLib::MPC::File
         if( uid.isEmpty() )
             uid = createCurrentUID( file );
         if( m_verbose )
-            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << endl;
+            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << Qt::endl;
         file->APETag()->addValue( Qt5QStringToTString( ourId.toUpper() ), Qt5QStringToTString( uid ) );
         file->save();
         return true;
@@ -600,7 +600,7 @@ AFTTagger::handleMP4( TagLib::MP4::File
 {
     if( file->readOnly() )
     {
-        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << endl;
+        m_textStream << tr( "ERROR: File is read-only or could not be opened" ) << Qt::endl;
         return false;
     }
 
@@ -609,7 +609,7 @@ AFTTagger::handleMP4( TagLib::MP4::File
     bool nothingfound = true;
     TagLib::StringList toRemove;
     if( m_verbose )
-        m_textStream << tr( "INFO: File is a MP4 file, opening..." ) << endl;
+        m_textStream << tr( "INFO: File is a MP4 file, opening..." ) << Qt::endl;
 
     TagLib::MP4::ItemListMap &itemsMap = file->tag()->itemListMap();
     if( !itemsMap.isEmpty() )
@@ -623,7 +623,7 @@ AFTTagger::handleMP4( TagLib::MP4::File
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( key.toCString() ) << endl;
+                    m_textStream << tr( "INFO: Removing old-style ATF identifier %1" ).arg( key.toCString() ) << Qt::endl;
 
                 toRemove.append( key );
                 if( !m_delete )
@@ -634,42 +634,42 @@ AFTTagger::handleMP4( TagLib::MP4::File
                 nothingfound = false;
 
                 if( m_verbose )
-                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( key.toCString() ) << endl;
+                    m_textStream << tr( "INFO: Found an existing AFT identifier: %1" ).arg( key.toCString() ) << Qt::endl;
 
                 if( m_delete )
                 {
                     toRemove.append( key );
                     if( m_verbose )
-                        m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                        m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                 }
                 else
                 {
                     int version = qkey.at( qkey.indexOf( QLatin1String("AMAROK 2 AFT") ) + 13 ).digitValue();
                     if( m_verbose )
-                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << endl;
+                        m_textStream << tr( "INFO: AFT identifier is version %1" ).arg( version ) << Qt::endl;
                     if( version < s_currentVersion )
                     {
                         if( m_verbose )
                             m_textStream << tr( "INFO: Upgrading AFT identifier from version %1 to version %2" )
                             .arg( QString::number( version ), QString::number( s_currentVersion ) )
-                            << endl;
+                            << Qt::endl;
                         uid = upgradeUID( version, TStringToQString( itemsMap[ key ].toStringList().toString() ) );
                         if( m_verbose )
-                            m_textStream << tr( "INFO: Removing current AFT frame" ) << endl;
+                            m_textStream << tr( "INFO: Removing current AFT frame" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else if( version == s_currentVersion && m_newid )
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << endl;
+                            m_textStream << tr( "INFO: New IDs specified to be generated, doing so" ) << Qt::endl;
                         toRemove.append( key );
                         newUid = true;
                     }
                     else
                     {
                         if( m_verbose )
-                            m_textStream << tr( "INFO: ID is current" ) << endl;
+                            m_textStream << tr( "INFO: ID is current" ) << Qt::endl;
                         return false;
                     }
                 }
@@ -685,7 +685,7 @@ AFTTagger::handleMP4( TagLib::MP4::File
         if( uid.isEmpty() )
             uid = createCurrentUID( file );
         if( m_verbose )
-            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << endl;
+            m_textStream << tr( "INFO: Adding new field and saving file with UID: %1" ).arg( uid ) << Qt::endl;
         itemsMap.insert( Qt5QStringToTString( QString( "----:com.apple.iTunes:" + ourId ) ),
                          TagLib::StringList( Qt5QStringToTString( uid ) ) );
         file->save();
@@ -797,17 +797,17 @@ AFTTagger::readArgs()
 void
 AFTTagger::displayHelp()
 {
-    m_textStream << tr( "Amarok AFT Tagger" ) << endl << endl;
-    m_textStream << tr( "IRC:\nserver: irc.libera.chat / channels: #amarok, #amarok-de, #amarok-es, #amarok-fr\n\nFeedback:\namarok@kde.org" ) << endl << endl;
-    m_textStream << tr( "Usage: amarok_afttagger [options] +File/Folder(s)" ) << endl << endl;
-    m_textStream << tr( "User-modifiable Options:" ) << endl;
-    m_textStream << tr( "+File/Folder(s)       : Files or folders to tag" ) << endl;
-    m_textStream << tr( "-h, --help            : This help text" ) << endl;
-    m_textStream << tr( "-r, --recursive       : Process files and folders recursively" ) << endl;
-    m_textStream << tr( "-d, --delete          : Remove AFT tag" ) << endl;
-    m_textStream << tr( "-n  --newid           : Replace any existing ID with a new one" ) << endl;
-    m_textStream << tr( "-v, --verbose         : Verbose output" ) << endl;
-    m_textStream << tr( "-q, --quiet           : Quiet output; Implies that you accept the terms of use" ) << endl;
+    m_textStream << tr( "Amarok AFT Tagger" ) << Qt::endl << Qt::endl;
+    m_textStream << tr( "IRC:\nserver: irc.libera.chat / channels: #amarok, #amarok-de, #amarok-es, #amarok-fr\n\nFeedback:\namarok@kde.org" ) << Qt::endl << Qt::endl;
+    m_textStream << tr( "Usage: amarok_afttagger [options] +File/Folder(s)" ) << Qt::endl << Qt::endl;
+    m_textStream << tr( "User-modifiable Options:" ) << Qt::endl;
+    m_textStream << tr( "+File/Folder(s)       : Files or folders to tag" ) << Qt::endl;
+    m_textStream << tr( "-h, --help            : This help text" ) << Qt::endl;
+    m_textStream << tr( "-r, --recursive       : Process files and folders recursively" ) << Qt::endl;
+    m_textStream << tr( "-d, --delete          : Remove AFT tag" ) << Qt::endl;
+    m_textStream << tr( "-n  --newid           : Replace any existing ID with a new one" ) << Qt::endl;
+    m_textStream << tr( "-v, --verbose         : Verbose output" ) << Qt::endl;
+    m_textStream << tr( "-q, --quiet           : Quiet output; Implies that you accept the terms of use" ) << Qt::endl;
     m_textStream.flush();
     ::exit( 0 );
 }
--- a/utilities/collectionscanner/CollectionScanner.cpp
+++ b/utilities/collectionscanner/CollectionScanner.cpp
@@ -237,7 +237,7 @@ CollectionScanner::Scanner::addDir( cons
     if( !d.exists() )
     {
         QTextStream stream( stderr );
-        stream << "Directory \""<<dir<<"\" does not exist." << endl;
+        stream << "Directory \""<<dir<<"\" does not exist." << Qt::endl;
         return;
     }
 
@@ -380,7 +380,7 @@ void
 CollectionScanner::Scanner::error( const QString &str )
 {
     QTextStream stream( stderr );
-    stream << str << endl;
+    stream << str << Qt::endl;
     stream.flush();
 
     // Nothing else to do, so we exit directly
@@ -392,7 +392,7 @@ void
 CollectionScanner::Scanner::displayVersion()
 {
     QTextStream stream( stdout );
-    stream << AMAROK_VERSION << endl;
+    stream << AMAROK_VERSION << Qt::endl;
     stream.flush();
 
     // Nothing else to do, so we exit directly
@@ -429,7 +429,7 @@ CollectionScanner::Scanner::displayHelp(
         "   </scanner>\n"
         "                          You can also use a previous scan result for that.\n"
         )
-        << endl;
+        << Qt::endl;
     stream.flush();
 
     ::exit(0);
