diff --git a/3rdparty/singleapplication/CMakeLists.txt b/3rdparty/singleapplication/CMakeLists.txt index c026c807a..ed56a3171 100644 --- a/3rdparty/singleapplication/CMakeLists.txt +++ b/3rdparty/singleapplication/CMakeLists.txt @@ -7,6 +7,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + if(CMAKE_VERSION VERSION_GREATER 3.0) check_function_exists(geteuid HAVE_GETEUID) check_function_exists(getpwuid HAVE_GETPWUID) diff --git a/ext/gstmoodbar/CMakeLists.txt b/ext/gstmoodbar/CMakeLists.txt index b00ca2674..e3851300b 100644 --- a/ext/gstmoodbar/CMakeLists.txt +++ b/ext/gstmoodbar/CMakeLists.txt @@ -4,6 +4,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${GLIB_INCLUDE_DIRS}) diff --git a/ext/gstmoodbar/gstfastspectrum.cpp b/ext/gstmoodbar/gstfastspectrum.cpp index e2b7ae12a..e158becf3 100644 --- a/ext/gstmoodbar/gstfastspectrum.cpp +++ b/ext/gstmoodbar/gstfastspectrum.cpp @@ -56,7 +56,7 @@ enum { }; #define gst_fastspectrum_parent_class parent_class -G_DEFINE_TYPE (GstFastSpectrum, gst_fastspectrum, GST_TYPE_AUDIO_FILTER); +G_DEFINE_TYPE (GstFastSpectrum, gst_fastspectrum, GST_TYPE_AUDIO_FILTER) static void gst_fastspectrum_finalize (GObject * object); static void gst_fastspectrum_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); @@ -260,6 +260,8 @@ static gboolean gst_fastspectrum_stop (GstBaseTransform * trans) { static void input_data_mixed_float(const guint8* _in, double* out, guint len, double max_value, guint op, guint nfft) { + Q_UNUSED(max_value); + guint j, ip = 0; gfloat *in = (gfloat *) _in; @@ -272,6 +274,8 @@ static void input_data_mixed_float(const guint8* _in, double* out, guint len, do static void input_data_mixed_double (const guint8 * _in, double* out, guint len, double max_value, guint op, guint nfft) { + Q_UNUSED(max_value); + guint j, ip = 0; gdouble *in = (gdouble *) _in; diff --git a/ext/libstrawberry-common/CMakeLists.txt b/ext/libstrawberry-common/CMakeLists.txt index 29f950024..bdad98dec 100644 --- a/ext/libstrawberry-common/CMakeLists.txt +++ b/ext/libstrawberry-common/CMakeLists.txt @@ -7,6 +7,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + set(SOURCES core/closure.cpp core/logging.cpp diff --git a/ext/libstrawberry-common/core/closure.h b/ext/libstrawberry-common/core/closure.h index 6fa725b7f..d2ccccb58 100644 --- a/ext/libstrawberry-common/core/closure.h +++ b/ext/libstrawberry-common/core/closure.h @@ -54,7 +54,8 @@ class ClosureBase { ObjectHelper *helper_; private: - Q_DISABLE_COPY(ClosureBase); + Q_DISABLE_COPY(ClosureBase) + }; // QObject helper as templated QObjects do not work. @@ -71,7 +72,8 @@ class ObjectHelper : public QObject { private: std::unique_ptr closure_; - Q_DISABLE_COPY(ObjectHelper); + Q_DISABLE_COPY(ObjectHelper) + }; // Helpers for unpacking a variadic template list. diff --git a/ext/libstrawberry-common/core/logging.cpp b/ext/libstrawberry-common/core/logging.cpp index 1aac1e3be..9553ed8b0 100644 --- a/ext/libstrawberry-common/core/logging.cpp +++ b/ext/libstrawberry-common/core/logging.cpp @@ -53,6 +53,9 @@ static QtMessageHandler sOriginalMessageHandler = nullptr; void GLog(const char *domain, int level, const char *message, void *user_data) { + Q_UNUSED(domain); + Q_UNUSED(user_data); + switch (level) { case G_LOG_FLAG_RECURSION: case G_LOG_FLAG_FATAL: @@ -69,6 +72,8 @@ void GLog(const char *domain, int level, const char *message, void *user_data) { static void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &message) { + Q_UNUSED(context); + if (strncmp(kMessageHandlerMagic, message.toLocal8Bit().data(), kMessageHandlerMagicLength) == 0) { fprintf(stderr, "%s\n", message.toLocal8Bit().data() + kMessageHandlerMagicLength); return; @@ -90,6 +95,7 @@ static void MessageHandler(QtMsgType type, const QMessageLogContext &context, co if (type == QtFatalMsg) { abort(); } + } void Init() { diff --git a/ext/libstrawberry-common/core/messagehandler.h b/ext/libstrawberry-common/core/messagehandler.h index 71936326a..f99aba16a 100644 --- a/ext/libstrawberry-common/core/messagehandler.h +++ b/ext/libstrawberry-common/core/messagehandler.h @@ -103,7 +103,7 @@ public: protected: // Called when a message is received from the socket. - virtual void MessageArrived(const MessageType &message) {} + virtual void MessageArrived(const MessageType &message) { Q_UNUSED(message); } // _MessageHandlerBase bool RawMessageArrived(const QByteArray &data); diff --git a/ext/libstrawberry-tagreader/CMakeLists.txt b/ext/libstrawberry-tagreader/CMakeLists.txt index 476624460..5fd7ff593 100644 --- a/ext/libstrawberry-tagreader/CMakeLists.txt +++ b/ext/libstrawberry-tagreader/CMakeLists.txt @@ -9,6 +9,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + set(MESSAGES tagreadermessages.proto ) diff --git a/ext/libstrawberry-tagreader/tagreader.cpp b/ext/libstrawberry-tagreader/tagreader.cpp index 5e2e009af..036a3ee2b 100644 --- a/ext/libstrawberry-tagreader/tagreader.cpp +++ b/ext/libstrawberry-tagreader/tagreader.cpp @@ -478,6 +478,8 @@ void TagReader::ParseOggTag(const TagLib::Ogg::FieldListMap &map, const QTextCod void TagReader::ParseAPETag(const TagLib::APE::ItemListMap &map, const QTextCodec *codec, QString *disc, QString *compilation, pb::tagreader::SongMetadata *song) const { + Q_UNUSED(codec); + TagLib::APE::ItemListMap::ConstIterator it = map.find("ALBUM ARTIST"); if (it != map.end()) { TagLib::StringList album_artists = it->second.toStringList(); diff --git a/ext/strawberry-tagreader/CMakeLists.txt b/ext/strawberry-tagreader/CMakeLists.txt index f42272799..97198f974 100644 --- a/ext/strawberry-tagreader/CMakeLists.txt +++ b/ext/strawberry-tagreader/CMakeLists.txt @@ -11,6 +11,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(SOURCES diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 505fc68bb..2d69a5c09 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -U__STRICT_ANSI__ -Wall -Woverloaded-virtual -Wno-sign-compare -fpermissive") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wimplicit-fallthrough=0 -Wpedantic") +endif() + option(BUILD_WERROR "Build with -Werror" OFF) if(BUILD_WERROR) diff --git a/src/analyzer/rainbowanalyzer.cpp b/src/analyzer/rainbowanalyzer.cpp index 740a87ee3..8ab503137 100644 --- a/src/analyzer/rainbowanalyzer.cpp +++ b/src/analyzer/rainbowanalyzer.cpp @@ -95,6 +95,8 @@ void Rainbow::RainbowAnalyzer::timerEvent(QTimerEvent* e) { void Rainbow::RainbowAnalyzer::resizeEvent(QResizeEvent* e) { + Q_UNUSED(e); + // Invalidate the buffer so it's recreated from scratch in the next paint event. buffer_[0] = QPixmap(); buffer_[1] = QPixmap(); diff --git a/src/collection/collection.cpp b/src/collection/collection.cpp index bfa578199..9ac672421 100644 --- a/src/collection/collection.cpp +++ b/src/collection/collection.cpp @@ -168,6 +168,8 @@ void SCollection::Stopped() { void SCollection::CurrentSongChanged(const Song &song) { // FIXME + Q_UNUSED(song); + TagReaderReply *reply = nullptr; if (reply) { @@ -177,4 +179,5 @@ void SCollection::CurrentSongChanged(const Song &song) { // FIXME } void SCollection::SongsStatisticsChanged(const SongList &songs) { + Q_UNUSED(songs); } diff --git a/src/collection/collectionbackend.cpp b/src/collection/collectionbackend.cpp index 4142c5893..884c58e50 100644 --- a/src/collection/collectionbackend.cpp +++ b/src/collection/collectionbackend.cpp @@ -1222,6 +1222,8 @@ void CollectionBackend::IncrementPlayCount(int id) { void CollectionBackend::IncrementSkipCount(int id, float progress) { + Q_UNUSED(progress); + if (id == -1) return; QMutexLocker l(db_->Mutex()); diff --git a/src/collection/collectionmodel.cpp b/src/collection/collectionmodel.cpp index 89748f558..00f0b0245 100644 --- a/src/collection/collectionmodel.cpp +++ b/src/collection/collectionmodel.cpp @@ -587,6 +587,8 @@ QVariant CollectionModel::AlbumIcon(const QModelIndex &idx) { void CollectionModel::AlbumCoverLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!pending_art_.contains(id)) return; ItemAndCacheKey item_and_cache_key = pending_art_.take(id); diff --git a/src/collection/collectionmodel.h b/src/collection/collectionmodel.h index b1e0b13bc..cc87168bf 100644 --- a/src/collection/collectionmodel.h +++ b/src/collection/collectionmodel.h @@ -59,7 +59,8 @@ class CollectionItem; class CollectionModel : public SimpleTreeModel { Q_OBJECT - Q_ENUMS(GroupBy); + + Q_ENUMS(GroupBy) public: CollectionModel(CollectionBackend *backend, Application *app, QObject *parent = nullptr); @@ -285,7 +286,7 @@ signals: QSet pending_cache_keys_; }; -Q_DECLARE_METATYPE(CollectionModel::Grouping); +Q_DECLARE_METATYPE(CollectionModel::Grouping) QDataStream &operator<<(QDataStream &s, const CollectionModel::Grouping &g); QDataStream &operator>>(QDataStream &s, CollectionModel::Grouping &g); diff --git a/src/context/contextalbumsmodel.cpp b/src/context/contextalbumsmodel.cpp index 9ec25e08e..755841b22 100644 --- a/src/context/contextalbumsmodel.cpp +++ b/src/context/contextalbumsmodel.cpp @@ -167,6 +167,8 @@ QVariant ContextAlbumsModel::AlbumIcon(const QModelIndex &index) { void ContextAlbumsModel::AlbumCoverLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!pending_art_.contains(id)) return; ItemAndCacheKey item_and_cache_key = pending_art_.take(id); diff --git a/src/context/contextview.cpp b/src/context/contextview.cpp index 7152a1287..ee778866b 100644 --- a/src/context/contextview.cpp +++ b/src/context/contextview.cpp @@ -535,6 +535,8 @@ void ContextView::handlePaintEvent(QObject *object, QEvent *event) { void ContextView::PaintEventAlbum(QEvent *event) { + Q_UNUSED(event); + QPainter p(ui_->label_play_album); DrawImage(&p); @@ -544,6 +546,7 @@ void ContextView::PaintEventAlbum(QEvent *event) { p.setOpacity(pixmap_previous_opacity_); p.drawPixmap(0, 0, pixmap_previous_); } + } void ContextView::DrawImage(QPainter *p) { @@ -595,6 +598,8 @@ void ContextView::ScaleCover() { void ContextView::AlbumCoverLoaded(const Song &song, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (song != song_playing_ || image == image_original_) return; active_ = true; diff --git a/src/core/database.cpp b/src/core/database.cpp index 408c67a38..117fd57ee 100644 --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -440,6 +440,8 @@ void Database::ExecSongTablesCommands(QSqlDatabase &db, const QStringList &song_ QStringList Database::SongsTables(QSqlDatabase &db, int schema_version) const { + Q_UNUSED(schema_version); + QStringList ret; // look for the tables in the main db diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index e2c7576d9..772997acf 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -2069,10 +2069,14 @@ void MainWindow::CommandlineOptionsReceived(const CommandlineOptions &options) { } void MainWindow::ForceShowOSD(const Song &song, const bool toggle) { + + Q_UNUSED(song); + if (toggle) { osd_->SetPrettyOSDToggleMode(toggle); } osd_->ReshowCurrentSong(); + } void MainWindow::Activate() { @@ -2385,11 +2389,13 @@ void MainWindow::PlaylistViewSelectionModelChanged() { } void MainWindow::PlaylistCurrentChanged(const QModelIndex &proxy_current) { + const QModelIndex source_current =app_->playlist_manager()->current()->proxy()->mapToSource(proxy_current); // If the user moves the current index using the keyboard and then presses // F2, we don't want that editing the last column that was right clicked on. if (source_current != playlist_menu_index_) playlist_menu_index_ = QModelIndex(); + } void MainWindow::Raise() { @@ -2399,10 +2405,16 @@ void MainWindow::Raise() { bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, long *result) { + Q_UNUSED(eventType); + Q_UNUSED(result); + #ifdef Q_OS_WIN MSG *msg = static_cast(message); thumbbar_->HandleWinEvent(msg); +#else + Q_UNUSED(message); #endif + return false; } diff --git a/src/core/mainwindow.h b/src/core/mainwindow.h index 9add8543a..f6f22efdd 100644 --- a/src/core/mainwindow.h +++ b/src/core/mainwindow.h @@ -61,7 +61,7 @@ using std::unique_ptr; class About; -class AlbumCoverManager;; +class AlbumCoverManager; class Application; class ContextView; class CollectionViewContainer; diff --git a/src/core/mpris2.cpp b/src/core/mpris2.cpp index e13ac9768..0901e2d67 100644 --- a/src/core/mpris2.cpp +++ b/src/core/mpris2.cpp @@ -388,6 +388,8 @@ void Mpris2::CurrentSongChanged(const Song &song) { // ... and we add the cover information later, when it's available. void Mpris2::AlbumCoverLoaded(const Song &song, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(image); + last_metadata_ = QVariantMap(); song.ToXesam(&last_metadata_); @@ -502,19 +504,31 @@ TrackIds Mpris2::Tracks() const { bool Mpris2::CanEditTracks() const { return false; } TrackMetadata Mpris2::GetTracksMetadata(const TrackIds &tracks) const { + + Q_UNUSED(tracks); + // TODO return TrackMetadata(); + } void Mpris2::AddTrack(const QString &uri, const QDBusObjectPath &afterTrack, bool setAsCurrent) { + + Q_UNUSED(uri); + Q_UNUSED(afterTrack); + Q_UNUSED(setAsCurrent); + // TODO + } void Mpris2::RemoveTrack(const QDBusObjectPath &trackId) { + Q_UNUSED(trackId); // TODO } void Mpris2::GoTo(const QDBusObjectPath &trackId) { + Q_UNUSED(trackId); // TODO } @@ -571,6 +585,8 @@ void Mpris2::ActivatePlaylist(const QDBusObjectPath &playlist_id) { // TODO: Support sort orders. MprisPlaylistList Mpris2::GetPlaylists(quint32 index, quint32 max_count, const QString &order, bool reverse_order) { + Q_UNUSED(order); + MprisPlaylistList ret; for (Playlist *p : app_->playlist_manager()->GetAllPlaylists()) { MprisPlaylist mpris_playlist; @@ -597,6 +613,7 @@ void Mpris2::PlaylistChanged(Playlist *playlist) { } void Mpris2::PlaylistCollectionChanged(Playlist *playlist) { + Q_UNUSED(playlist); EmitNotification("PlaylistCount", "", "org.mpris.MediaPlayer2.Playlists"); } diff --git a/src/core/mpris2.h b/src/core/mpris2.h index 1f8be5720..e91eec135 100644 --- a/src/core/mpris2.h +++ b/src/core/mpris2.h @@ -49,7 +49,7 @@ class Playlist; typedef QList TrackMetadata; typedef QList TrackIds; -Q_DECLARE_METATYPE(TrackMetadata); +Q_DECLARE_METATYPE(TrackMetadata) struct MprisPlaylist { QDBusObjectPath id; @@ -57,14 +57,14 @@ struct MprisPlaylist { QString icon; // Uri }; typedef QList MprisPlaylistList; -Q_DECLARE_METATYPE(MprisPlaylist); -Q_DECLARE_METATYPE(MprisPlaylistList); +Q_DECLARE_METATYPE(MprisPlaylist) +Q_DECLARE_METATYPE(MprisPlaylistList) struct MaybePlaylist { bool valid; MprisPlaylist playlist; }; -Q_DECLARE_METATYPE(MaybePlaylist); +Q_DECLARE_METATYPE(MaybePlaylist) QDBusArgument &operator<<(QDBusArgument &arg, const MprisPlaylist &playlist); const QDBusArgument &operator>> (const QDBusArgument &arg, MprisPlaylist &playlist); diff --git a/src/core/musicstorage.h b/src/core/musicstorage.h index 86ae2b93b..2f82a1969 100644 --- a/src/core/musicstorage.h +++ b/src/core/musicstorage.h @@ -76,21 +76,21 @@ class MusicStorage { virtual TranscodeMode GetTranscodeMode() const { return Transcode_Never; } virtual Song::FileType GetTranscodeFormat() const { return Song::FileType_Unknown; } - virtual bool GetSupportedFiletypes(QList* ret) { return true; } + virtual bool GetSupportedFiletypes(QList* ret) { Q_UNUSED(ret); return true; } - virtual bool StartCopy(QList* supported_types) { return true;} + virtual bool StartCopy(QList* supported_types) { Q_UNUSED(supported_types); return true; } virtual bool CopyToStorage(const CopyJob& job) = 0; - virtual void FinishCopy(bool success) {} + virtual void FinishCopy(bool success) { Q_UNUSED(success); } virtual void StartDelete() {} virtual bool DeleteFromStorage(const DeleteJob& job) = 0; - virtual void FinishDelete(bool success) {} + virtual void FinishDelete(bool success) { Q_UNUSED(success); } virtual void Eject() {} }; -Q_DECLARE_METATYPE(MusicStorage*); -Q_DECLARE_METATYPE(std::shared_ptr); +Q_DECLARE_METATYPE(MusicStorage*) +Q_DECLARE_METATYPE(std::shared_ptr) #endif // MUSICSTORAGE_H diff --git a/src/core/potranslator.h b/src/core/potranslator.h index 817d1d0d2..e8fa97b5c 100644 --- a/src/core/potranslator.h +++ b/src/core/potranslator.h @@ -29,6 +29,7 @@ class PoTranslator : public QTranslator { public: QString translate(const char *context, const char *source_text, const char *disambiguation = 0, int n = -1) const { + Q_UNUSED(n); QString ret = QTranslator::translate(context, source_text, disambiguation); if (!ret.isEmpty()) return ret; return QTranslator::translate(nullptr, source_text, disambiguation); diff --git a/src/core/song.h b/src/core/song.h index d73bd6833..6cf80c47f 100644 --- a/src/core/song.h +++ b/src/core/song.h @@ -362,10 +362,10 @@ class Song { QSharedDataPointer d; }; -Q_DECLARE_METATYPE(Song); +Q_DECLARE_METATYPE(Song) typedef QList SongList; -Q_DECLARE_METATYPE(QList); +Q_DECLARE_METATYPE(QList) uint qHash(const Song &song); // Hash function using field checked in IsSimilar function diff --git a/src/core/standarditemiconloader.cpp b/src/core/standarditemiconloader.cpp index b17bf51e9..71890ae6f 100644 --- a/src/core/standarditemiconloader.cpp +++ b/src/core/standarditemiconloader.cpp @@ -94,6 +94,8 @@ void StandardItemIconLoader::ModelReset() { void StandardItemIconLoader::ImageLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + QStandardItem *item = pending_covers_.take(id); if (!item) return; diff --git a/src/core/systemtrayicon.cpp b/src/core/systemtrayicon.cpp index f90011cf4..57e31673f 100644 --- a/src/core/systemtrayicon.cpp +++ b/src/core/systemtrayicon.cpp @@ -47,6 +47,8 @@ SystemTrayIcon::SystemTrayIcon(QObject *parent) QPixmap SystemTrayIcon::CreateIcon(const QPixmap &icon, const QPixmap &grey_icon) { + Q_UNUSED(grey_icon); + QRect rect(icon.rect()); // The angle of the line that's used to cover the icon. @@ -97,8 +99,12 @@ void SystemTrayIcon::SetPaused() { } void SystemTrayIcon::SetPlaying(bool enable_play_pause) { + + Q_UNUSED(enable_play_pause); + current_state_icon_ = playing_icon_; UpdateIcon(); + } void SystemTrayIcon::SetStopped() { diff --git a/src/core/systemtrayicon.h b/src/core/systemtrayicon.h index 187c1835e..bc126992e 100644 --- a/src/core/systemtrayicon.h +++ b/src/core/systemtrayicon.h @@ -42,16 +42,16 @@ class SystemTrayIcon : public QObject { virtual void SetupMenu(QAction *previous, QAction *play, QAction *stop, QAction *stop_after, QAction *next, QAction *mute, QAction *love, QAction *quit) = 0; virtual bool IsVisible() const { return true; } - virtual void SetVisible(bool visible) {} + virtual void SetVisible(bool visible) { Q_UNUSED(visible); } // Called by the OSD - virtual void ShowPopup(const QString &summary, const QString &message, int timeout) {} + virtual void ShowPopup(const QString &summary, const QString &message, int timeout) { Q_UNUSED(summary); Q_UNUSED(message); Q_UNUSED(timeout); } // If this gets invoked with image_path equal to nullptr, the tooltip should still be shown - just without the cover art. - virtual void SetNowPlaying(const Song &song, const QUrl &cover_url) {} + virtual void SetNowPlaying(const Song &song, const QUrl &cover_url) { Q_UNUSED(song); Q_UNUSED(cover_url); } virtual void ClearNowPlaying() {} virtual bool MuteEnabled() { return false; } - virtual void SetMuteEnabled(bool enabled) {} + virtual void SetMuteEnabled(bool enabled) { Q_UNUSED(enabled); } static SystemTrayIcon *CreateSystemTrayIcon(QObject *parent = nullptr); @@ -60,9 +60,9 @@ class SystemTrayIcon : public QObject { virtual void SetPaused(); virtual void SetPlaying(bool enable_play_pause = false); virtual void SetStopped(); - virtual void LoveVisibilityChanged(bool value) {} - virtual void LoveStateChanged(bool value) {} - virtual void MuteButtonStateChanged(bool value) {} + virtual void LoveVisibilityChanged(bool value) { Q_UNUSED(value); } + virtual void LoveStateChanged(bool value) { Q_UNUSED(value); } + virtual void MuteButtonStateChanged(bool value) { Q_UNUSED(value); } signals: void ChangeVolume(int delta); diff --git a/src/core/taskmanager.h b/src/core/taskmanager.h index ff0781538..3f72baaca 100644 --- a/src/core/taskmanager.h +++ b/src/core/taskmanager.h @@ -56,7 +56,7 @@ class TaskManager : public QObject { const int task_id_; TaskManager *task_manager_; - Q_DISABLE_COPY(ScopedTask); + Q_DISABLE_COPY(ScopedTask) }; // Everything here is thread safe @@ -80,7 +80,7 @@ signals: QMap tasks_; int next_task_id_; - Q_DISABLE_COPY(TaskManager); + Q_DISABLE_COPY(TaskManager) }; #endif // TASKMANAGER_H diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index baf23200f..9e68ff0f6 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -791,20 +791,26 @@ QString UnicodeToAscii(const QString &unicode) { if (conv == (iconv_t) -1) return QString(); QByteArray utf8 = unicode.toUtf8(); + size_t input_len = utf8.length() + 1; - char input[input_len]; + char *input = new char[input_len]; + char *input_ptr = input; + + size_t output_len = input_len*2; + char *output = new char[output_len]; + char *output_ptr = output; snprintf(input, input_len, "%s", utf8.constData()); - char output[input_len*2]; - size_t output_len = sizeof(output); - - char *input_ptr = input; - char *output_ptr = output; - iconv(conv, &input_ptr, &input_len, &output_ptr, &output_len); + iconv(conv, &input, &input_len, &output, &output_len); iconv_close(conv); - return QString(output); + QString ret(output_ptr); + + delete[] input_ptr; + delete[] output_ptr; + + return ret; } diff --git a/src/core/utilities.h b/src/core/utilities.h index 5299b7485..b84a69f30 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -169,7 +169,7 @@ class ScopedWCharArray { int bytes() const { return (chars_ + 1) *sizeof(wchar_t); } private: - Q_DISABLE_COPY(ScopedWCharArray); + Q_DISABLE_COPY(ScopedWCharArray) int chars_; std::unique_ptr data_; diff --git a/src/covermanager/albumcoverchoicecontroller.cpp b/src/covermanager/albumcoverchoicecontroller.cpp index 43e87c237..1e36de94c 100644 --- a/src/covermanager/albumcoverchoicecontroller.cpp +++ b/src/covermanager/albumcoverchoicecontroller.cpp @@ -318,6 +318,8 @@ void AlbumCoverChoiceController::SearchCoverAutomatically(const Song &song) { void AlbumCoverChoiceController::AlbumCoverFetched(const quint64 id, const QUrl &cover_url, const QImage &image, const CoverSearchStatistics &statistics) { + Q_UNUSED(statistics); + Song song; if (cover_fetching_tasks_.contains(id)) { song = cover_fetching_tasks_.take(id); diff --git a/src/covermanager/albumcoverfetcher.h b/src/covermanager/albumcoverfetcher.h index 2fe0fbd23..1f76f097c 100644 --- a/src/covermanager/albumcoverfetcher.h +++ b/src/covermanager/albumcoverfetcher.h @@ -78,11 +78,11 @@ struct CoverSearchResult { float score; }; -Q_DECLARE_METATYPE(CoverSearchResult); +Q_DECLARE_METATYPE(CoverSearchResult) // This is a complete result of a single search request (a list of results, each describing one image, actually). typedef QList CoverSearchResults; -Q_DECLARE_METATYPE(QList); +Q_DECLARE_METATYPE(QList) // This class searches for album covers for a given query or artist/album and returns URLs. It's NOT thread-safe. class AlbumCoverFetcher : public QObject { diff --git a/src/covermanager/albumcovermanager.cpp b/src/covermanager/albumcovermanager.cpp index bb5d817ce..1525a65a3 100644 --- a/src/covermanager/albumcovermanager.cpp +++ b/src/covermanager/albumcovermanager.cpp @@ -359,6 +359,8 @@ void AlbumCoverManager::ArtistChanged(QListWidgetItem *current) { void AlbumCoverManager::CoverImageLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!cover_loading_tasks_.contains(id)) return; QListWidgetItem *item = cover_loading_tasks_.take(id); diff --git a/src/covermanager/albumcoversearcher.cpp b/src/covermanager/albumcoversearcher.cpp index fec0b0ac3..7a17705b9 100644 --- a/src/covermanager/albumcoversearcher.cpp +++ b/src/covermanager/albumcoversearcher.cpp @@ -238,6 +238,8 @@ void AlbumCoverSearcher::SearchFinished(const quint64 id, const CoverSearchResul void AlbumCoverSearcher::ImageLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!cover_loading_tasks_.contains(id)) return; QStandardItem *item = cover_loading_tasks_.take(id); diff --git a/src/covermanager/coverprovider.h b/src/covermanager/coverprovider.h index 03e3a01f4..43dac6ab4 100644 --- a/src/covermanager/coverprovider.h +++ b/src/covermanager/coverprovider.h @@ -51,7 +51,7 @@ class CoverProvider : public QObject { // The provider should remember the ID and emit it along with the result when it finishes. virtual bool StartSearch(const QString &artist, const QString &album, int id) = 0; - virtual void CancelSearch(int id) {} + virtual void CancelSearch(int id) { Q_UNUSED(id); } signals: void SearchFinished(int id, const CoverSearchResults& results); diff --git a/src/covermanager/coverproviders.h b/src/covermanager/coverproviders.h index 11deac09a..5cbea9948 100644 --- a/src/covermanager/coverproviders.h +++ b/src/covermanager/coverproviders.h @@ -60,7 +60,7 @@ class CoverProviders : public QObject { void ProviderDestroyed(); private: - Q_DISABLE_COPY(CoverProviders); + Q_DISABLE_COPY(CoverProviders) QMap cover_providers_; QMutex mutex_; diff --git a/src/covermanager/currentalbumcoverloader.cpp b/src/covermanager/currentalbumcoverloader.cpp index 1c2783d1b..06dcd7ea7 100644 --- a/src/covermanager/currentalbumcoverloader.cpp +++ b/src/covermanager/currentalbumcoverloader.cpp @@ -64,6 +64,8 @@ void CurrentAlbumCoverLoader::LoadAlbumCover(const Song &song) { void CurrentAlbumCoverLoader::TempAlbumCoverLoaded(const quint64 id, const QUrl &remote_url, const QImage &image) { + Q_UNUSED(remote_url); + if (id != id_) return; id_ = 0; diff --git a/src/covermanager/deezercoverprovider.cpp b/src/covermanager/deezercoverprovider.cpp index ebe1faf7f..37939a1ea 100644 --- a/src/covermanager/deezercoverprovider.cpp +++ b/src/covermanager/deezercoverprovider.cpp @@ -50,7 +50,7 @@ const int DeezerCoverProvider::kLimit = 10; DeezerCoverProvider::DeezerCoverProvider(Application *app, QObject *parent): CoverProvider("Deezer", 2.0, true, app, parent), network_(new NetworkAccessManager(this)) {} -bool DeezerCoverProvider::StartSearch(const QString &artist, const QString &album, int id) { +bool DeezerCoverProvider::StartSearch(const QString &artist, const QString &album, const int id) { typedef QPair Param; typedef QList Params; @@ -80,7 +80,7 @@ bool DeezerCoverProvider::StartSearch(const QString &artist, const QString &albu } -void DeezerCoverProvider::CancelSearch(int id) {} +void DeezerCoverProvider::CancelSearch(const int id) { Q_UNUSED(id); } QByteArray DeezerCoverProvider::GetReplyData(QNetworkReply *reply) { @@ -131,7 +131,7 @@ QByteArray DeezerCoverProvider::GetReplyData(QNetworkReply *reply) { } -QJsonObject DeezerCoverProvider::ExtractJsonObj(QByteArray &data) { +QJsonObject DeezerCoverProvider::ExtractJsonObj(const QByteArray &data) { QJsonParseError error; QJsonDocument json_doc = QJsonDocument::fromJson(data, &error); @@ -161,7 +161,7 @@ QJsonObject DeezerCoverProvider::ExtractJsonObj(QByteArray &data) { } -QJsonValue DeezerCoverProvider::ExtractData(QByteArray &data) { +QJsonValue DeezerCoverProvider::ExtractData(const QByteArray &data) { QJsonObject json_obj = ExtractJsonObj(data); if (json_obj.isEmpty()) return QJsonObject(); @@ -193,7 +193,7 @@ QJsonValue DeezerCoverProvider::ExtractData(QByteArray &data) { } -void DeezerCoverProvider::HandleSearchReply(QNetworkReply *reply, int id) { +void DeezerCoverProvider::HandleSearchReply(QNetworkReply *reply, const int id) { reply->deleteLater(); @@ -292,7 +292,7 @@ void DeezerCoverProvider::HandleSearchReply(QNetworkReply *reply, int id) { } -void DeezerCoverProvider::Error(QString error, QVariant debug) { +void DeezerCoverProvider::Error(const QString &error, const QVariant &debug) { qLog(Error) << "Deezer:" << error; if (debug.isValid()) qLog(Debug) << debug; } diff --git a/src/covermanager/deezercoverprovider.h b/src/covermanager/deezercoverprovider.h index 2ffaa5fce..40a41b9cc 100644 --- a/src/covermanager/deezercoverprovider.h +++ b/src/covermanager/deezercoverprovider.h @@ -43,20 +43,20 @@ class DeezerCoverProvider : public CoverProvider { public: explicit DeezerCoverProvider(Application *app, QObject *parent = nullptr); - bool StartSearch(const QString &artist, const QString &album, int id); - void CancelSearch(int id); + bool StartSearch(const QString &artist, const QString &album, const int id); + void CancelSearch(const int id); private slots: - void HandleSearchReply(QNetworkReply *reply, int id); + void HandleSearchReply(QNetworkReply *reply, const int id); private: static const char *kApiUrl; static const int kLimit; QByteArray GetReplyData(QNetworkReply *reply); - QJsonObject ExtractJsonObj(QByteArray &data); - QJsonValue ExtractData(QByteArray &data); - void Error(QString error, QVariant debug = QVariant()); + QJsonObject ExtractJsonObj(const QByteArray &data); + QJsonValue ExtractData(const QByteArray &data); + void Error(const QString &error, const QVariant &debug = QVariant()); QNetworkAccessManager *network_; diff --git a/src/covermanager/discogscoverprovider.cpp b/src/covermanager/discogscoverprovider.cpp index 17caa59a1..5df0c5e6b 100644 --- a/src/covermanager/discogscoverprovider.cpp +++ b/src/covermanager/discogscoverprovider.cpp @@ -56,7 +56,7 @@ const char *DiscogsCoverProvider::kSecretKeyB64 = "ZkFIcmlaSER4aHhRSlF2U3d0bm5ZV DiscogsCoverProvider::DiscogsCoverProvider(Application *app, QObject *parent) : CoverProvider("Discogs", 0.0, false, app, parent), network_(new NetworkAccessManager(this)) {} -bool DiscogsCoverProvider::StartSearch(const QString &artist, const QString &album, int s_id) { +bool DiscogsCoverProvider::StartSearch(const QString &artist, const QString &album, const int s_id) { DiscogsCoverSearchContext *s_ctx = new DiscogsCoverSearchContext; @@ -71,12 +71,12 @@ bool DiscogsCoverProvider::StartSearch(const QString &artist, const QString &alb } -void DiscogsCoverProvider::CancelSearch(int id) { +void DiscogsCoverProvider::CancelSearch(const int id) { delete requests_search_.take(id); } -bool DiscogsCoverProvider::StartRelease(DiscogsCoverSearchContext *s_ctx, int r_id, QString &resource_url) { +bool DiscogsCoverProvider::StartRelease(DiscogsCoverSearchContext *s_ctx, const int r_id, const QString &resource_url) { DiscogsCoverReleaseContext *r_ctx = new DiscogsCoverReleaseContext; @@ -249,7 +249,7 @@ QJsonObject DiscogsCoverProvider::ExtractJsonObj(const QByteArray &data) { } -QJsonValue DiscogsCoverProvider::ExtractData(const QByteArray &data, const QString name, const bool silent) { +QJsonValue DiscogsCoverProvider::ExtractData(const QByteArray &data, const QString &name, const bool silent) { QJsonObject json_obj = ExtractJsonObj(data); if (json_obj.isEmpty()) return QJsonObject(); @@ -323,7 +323,7 @@ void DiscogsCoverProvider::HandleSearchReply(QNetworkReply *reply, int s_id) { } -void DiscogsCoverProvider::HandleReleaseReply(QNetworkReply *reply, int s_id, int r_id) { +void DiscogsCoverProvider::HandleReleaseReply(QNetworkReply *reply, const int s_id, const int r_id) { reply->deleteLater(); @@ -464,7 +464,7 @@ void DiscogsCoverProvider::EndSearch(DiscogsCoverReleaseContext *r_ctx) { delete requests_release_.take(r_ctx->id); } -void DiscogsCoverProvider::Error(QString error, QVariant debug) { +void DiscogsCoverProvider::Error(const QString &error, const QVariant &debug) { qLog(Error) << "Discogs:" << error; if (debug.isValid()) qLog(Debug) << debug; } diff --git a/src/covermanager/discogscoverprovider.h b/src/covermanager/discogscoverprovider.h index fdfc41f71..d0c4e1a5f 100644 --- a/src/covermanager/discogscoverprovider.h +++ b/src/covermanager/discogscoverprovider.h @@ -71,13 +71,13 @@ class DiscogsCoverProvider : public CoverProvider { public: explicit DiscogsCoverProvider(Application *app, QObject *parent = nullptr); - bool StartSearch(const QString &artist, const QString &album, int s_id); + bool StartSearch(const QString &artist, const QString &album, const int s_id); - void CancelSearch(int id); + void CancelSearch(const int id); private slots: - void HandleSearchReply(QNetworkReply *reply, int s_id); - void HandleReleaseReply(QNetworkReply *reply, int s_id, int r_id); + void HandleSearchReply(QNetworkReply *reply, const int s_id); + void HandleReleaseReply(QNetworkReply *reply, const int s_id, const int r_id); private: static const char *kUrlSearch; @@ -89,17 +89,17 @@ class DiscogsCoverProvider : public CoverProvider { QHash requests_search_; QHash requests_release_; - bool StartRelease(DiscogsCoverSearchContext *s_ctx, int r_id, QString &resource_url); + bool StartRelease(DiscogsCoverSearchContext *s_ctx, const int r_id, const QString &resource_url); void SendSearchRequest(DiscogsCoverSearchContext *s_ctx); void SendReleaseRequest(DiscogsCoverSearchContext *s_ctx, DiscogsCoverReleaseContext *r_ctx); QByteArray GetReplyData(QNetworkReply *reply); QJsonObject ExtractJsonObj(const QByteArray &data); - QJsonValue ExtractData(const QByteArray &data, const QString name, const bool silent = false); + QJsonValue ExtractData(const QByteArray &data, const QString &name, const bool silent = false); void EndSearch(DiscogsCoverSearchContext *s_ctx, DiscogsCoverReleaseContext *r_ctx); void EndSearch(DiscogsCoverSearchContext *s_ctx); void EndSearch(DiscogsCoverReleaseContext *r_ctx); - void Error(QString error, QVariant debug = QVariant()); + void Error(const QString &error, const QVariant &debug = QVariant()); }; diff --git a/src/covermanager/lastfmcoverprovider.cpp b/src/covermanager/lastfmcoverprovider.cpp index c01441af1..da25546da 100644 --- a/src/covermanager/lastfmcoverprovider.cpp +++ b/src/covermanager/lastfmcoverprovider.cpp @@ -50,7 +50,7 @@ const char *LastFmCoverProvider::kSecret = "80fd738f49596e9709b1bf9319c444a8"; LastFmCoverProvider::LastFmCoverProvider(Application *app, QObject *parent) : CoverProvider("last.fm", 1.0, true, app, parent), network_(new NetworkAccessManager(this)) {} -bool LastFmCoverProvider::StartSearch(const QString &artist, const QString &album, int id) { +bool LastFmCoverProvider::StartSearch(const QString &artist, const QString &album, const int id) { typedef QPair Param; typedef QPair EncodedParam; @@ -90,7 +90,7 @@ bool LastFmCoverProvider::StartSearch(const QString &artist, const QString &albu } -void LastFmCoverProvider::QueryFinished(QNetworkReply *reply, int id) { +void LastFmCoverProvider::QueryFinished(QNetworkReply *reply, const int id) { reply->deleteLater(); @@ -290,12 +290,12 @@ QJsonValue LastFmCoverProvider::ExtractResults(const QByteArray &data) { } -void LastFmCoverProvider::Error(QString error, QVariant debug) { +void LastFmCoverProvider::Error(const QString &error, const QVariant &debug) { qLog(Error) << "LastFm:" << error; if (debug.isValid()) qLog(Debug) << debug; } -LastFmCoverProvider::LastFmImageSize LastFmCoverProvider::ImageSizeFromString(const QString size) { +LastFmCoverProvider::LastFmImageSize LastFmCoverProvider::ImageSizeFromString(const QString &size) { if (size == "small") return LastFmImageSize::Small; else if (size == "medium") return LastFmImageSize::Medium; else if (size == "large") return LastFmImageSize::Large; diff --git a/src/covermanager/lastfmcoverprovider.h b/src/covermanager/lastfmcoverprovider.h index 99ab4d76d..e7d5ad32b 100644 --- a/src/covermanager/lastfmcoverprovider.h +++ b/src/covermanager/lastfmcoverprovider.h @@ -43,10 +43,10 @@ class LastFmCoverProvider : public CoverProvider { public: explicit LastFmCoverProvider(Application *app, QObject *parent = nullptr); - bool StartSearch(const QString &artist, const QString &album, int id); + bool StartSearch(const QString &artist, const QString &album, const int id); private slots: - void QueryFinished(QNetworkReply *reply, int id); + void QueryFinished(QNetworkReply *reply, const int id); private: static const char *kUrl; @@ -62,12 +62,11 @@ class LastFmCoverProvider : public CoverProvider { QByteArray GetReplyData(QNetworkReply *reply); QJsonObject ExtractJsonObj(const QByteArray &data); QJsonValue ExtractResults(const QByteArray &data); - LastFmImageSize ImageSizeFromString(const QString size); - void Error(QString error, QVariant debug = QVariant()); + LastFmImageSize ImageSizeFromString(const QString &size); + void Error(const QString &error, const QVariant &debug = QVariant()); QNetworkAccessManager *network_; }; #endif // LASTFMCOVERPROVIDER_H - diff --git a/src/covermanager/musicbrainzcoverprovider.cpp b/src/covermanager/musicbrainzcoverprovider.cpp index b377c41d0..3ad4ae8ee 100644 --- a/src/covermanager/musicbrainzcoverprovider.cpp +++ b/src/covermanager/musicbrainzcoverprovider.cpp @@ -51,7 +51,7 @@ const int MusicbrainzCoverProvider::kLimit = 8; MusicbrainzCoverProvider::MusicbrainzCoverProvider(Application *app, QObject *parent): CoverProvider("MusicBrainz", 1.5, true, app, parent), network_(new NetworkAccessManager(this)) {} -bool MusicbrainzCoverProvider::StartSearch(const QString &artist, const QString &album, int id) { +bool MusicbrainzCoverProvider::StartSearch(const QString &artist, const QString &album, const int id) { QString query = QString("release:\"%1\" AND artist:\"%2\"").arg(album.trimmed().replace('"', "\\\"")).arg(artist.trimmed().replace('"', "\\\"")); @@ -73,9 +73,9 @@ bool MusicbrainzCoverProvider::StartSearch(const QString &artist, const QString } -void MusicbrainzCoverProvider::CancelSearch(int id) {} +void MusicbrainzCoverProvider::CancelSearch(const int id) { Q_UNUSED(id); } -void MusicbrainzCoverProvider::HandleSearchReply(QNetworkReply *reply, int search_id) { +void MusicbrainzCoverProvider::HandleSearchReply(QNetworkReply *reply, const int search_id) { reply->deleteLater(); diff --git a/src/covermanager/musicbrainzcoverprovider.h b/src/covermanager/musicbrainzcoverprovider.h index 7ae0e0f7b..525f50571 100644 --- a/src/covermanager/musicbrainzcoverprovider.h +++ b/src/covermanager/musicbrainzcoverprovider.h @@ -42,11 +42,11 @@ class MusicbrainzCoverProvider : public CoverProvider { public: explicit MusicbrainzCoverProvider(Application *app, QObject *parent = nullptr); - bool StartSearch(const QString &artist, const QString &album, int id); - void CancelSearch(int id); + bool StartSearch(const QString &artist, const QString &album, const int id); + void CancelSearch(const int id); private slots: - void HandleSearchReply(QNetworkReply *reply, int search_id); + void HandleSearchReply(QNetworkReply *reply, const int search_id); private: QByteArray GetReplyData(QNetworkReply *reply); diff --git a/src/covermanager/tidalcoverprovider.cpp b/src/covermanager/tidalcoverprovider.cpp index 5c9c09270..6aade561b 100644 --- a/src/covermanager/tidalcoverprovider.cpp +++ b/src/covermanager/tidalcoverprovider.cpp @@ -71,7 +71,7 @@ bool TidalCoverProvider::StartSearch(const QString &artist, const QString &album } -void TidalCoverProvider::CancelSearch(int id) {} +void TidalCoverProvider::CancelSearch(int id) { Q_UNUSED(id); } QNetworkReply *TidalCoverProvider::CreateRequest(const QString &ressource_name, const ParamList ¶ms_supplied) { diff --git a/src/device/devicelister.h b/src/device/devicelister.h index 602e9697a..84187d94c 100644 --- a/src/device/devicelister.h +++ b/src/device/devicelister.h @@ -56,10 +56,10 @@ class DeviceLister : public QObject { virtual quint64 DeviceCapacity(const QString &id) = 0; virtual quint64 DeviceFreeSpace(const QString &id) = 0; virtual QVariantMap DeviceHardwareInfo(const QString &id) = 0; - virtual bool DeviceNeedsMount(const QString &id) { return false; } + virtual bool DeviceNeedsMount(const QString &id) { Q_UNUSED(id); return false; } // When connecting to a device for the first time, do we want an user's confirmation for scanning it? (by default yes) - virtual bool AskForScan(const QString&) const { return true; } + virtual bool AskForScan(const QString &id) const { Q_UNUSED(id); return true; } virtual QString MakeFriendlyName(const QString &id) = 0; virtual QList MakeDeviceUrls(const QString &id) = 0; @@ -74,7 +74,7 @@ class DeviceLister : public QObject { virtual void UpdateDeviceFreeSpace(const QString &id) = 0; virtual void ShutDown() {} virtual void MountDevice(const QString &id, const int ret); - virtual void UnmountDevice(const QString &id) {} + virtual void UnmountDevice(const QString &id) { Q_UNUSED(id); } virtual void Exit(); signals: diff --git a/src/device/devicemanager.cpp b/src/device/devicemanager.cpp index 168af840c..42f9b527d 100644 --- a/src/device/devicemanager.cpp +++ b/src/device/devicemanager.cpp @@ -757,6 +757,8 @@ DeviceLister *DeviceManager::GetLister(QModelIndex idx) const { void DeviceManager::Disconnect(DeviceInfo *info, QModelIndex idx) { + Q_UNUSED(idx); + info->device_->Close(); } @@ -901,6 +903,8 @@ void DeviceManager::Unmount(QModelIndex idx) { void DeviceManager::DeviceSongCountUpdated(int count) { + Q_UNUSED(count); + ConnectedDevice *device = qobject_cast(sender()); if (!device) return; @@ -915,11 +919,14 @@ void DeviceManager::DeviceSongCountUpdated(int count) { } void DeviceManager::LazyPopulate(DeviceInfo *parent, bool signal) { + + Q_UNUSED(signal); if (parent->lazy_loaded) return; parent->lazy_loaded = true; + } -QString DeviceManager::DeviceNameByID(QString unique_id) { +QString DeviceManager::DeviceNameByID(const QString &unique_id) { DeviceInfo *info = FindDeviceById(unique_id); if (!info) return QString(); diff --git a/src/device/devicemanager.h b/src/device/devicemanager.h index 133637c88..30b16c31a 100644 --- a/src/device/devicemanager.h +++ b/src/device/devicemanager.h @@ -98,7 +98,7 @@ class DeviceManager : public SimpleTreeModel { DeviceInfo *FindDeviceById(const QString &id) const; DeviceInfo *FindDeviceByUrl(const QList &url) const; - QString DeviceNameByID(QString unique_id); + QString DeviceNameByID(const QString &unique_id); DeviceInfo *FindEquivalentDevice(DeviceInfo *info) const; // Actions on devices diff --git a/src/device/devicestatefiltermodel.cpp b/src/device/devicestatefiltermodel.cpp index 382e237db..e688406e8 100644 --- a/src/device/devicestatefiltermodel.cpp +++ b/src/device/devicestatefiltermodel.cpp @@ -35,6 +35,7 @@ DeviceStateFilterModel::DeviceStateFilterModel(QObject *parent, DeviceManager::S connect(this, SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(ProxyRowCountChanged(QModelIndex, int, int))); connect(this, SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(ProxyRowCountChanged(QModelIndex, int, int))); connect(this, SIGNAL(modelReset()), this, SLOT(ProxyRowCountChanged())); + } bool DeviceStateFilterModel::filterAcceptsRow(int row, const QModelIndex&) const { @@ -46,12 +47,19 @@ void DeviceStateFilterModel::ProxyRowCountChanged() { } void DeviceStateFilterModel::ProxyRowCountChanged(QModelIndex index, int first, int last) { + + Q_UNUSED(index); + Q_UNUSED(first); + Q_UNUSED(last); emit IsEmptyChanged(rowCount() == 0); + } void DeviceStateFilterModel::setSourceModel(QAbstractItemModel *sourceModel) { + QSortFilterProxyModel::setSourceModel(sourceModel); setDynamicSortFilter(true); setSortCaseSensitivity(Qt::CaseInsensitive); sort(0); + } diff --git a/src/device/giolister.cpp b/src/device/giolister.cpp index bf4428b4a..3f44d66e7 100644 --- a/src/device/giolister.cpp +++ b/src/device/giolister.cpp @@ -152,7 +152,7 @@ QVariantList GioLister::DeviceIcons(const QString &id) { } -QString GioLister::DeviceManufacturer(const QString &id) { return QString(); } +QString GioLister::DeviceManufacturer(const QString &id) { Q_UNUSED(id); return QString(); } QString GioLister::DeviceModel(const QString &id) { diff --git a/src/device/ilister.cpp b/src/device/ilister.cpp index 89bb9302e..39b610954 100644 --- a/src/device/ilister.cpp +++ b/src/device/ilister.cpp @@ -106,10 +106,12 @@ QStringList iLister::DeviceUniqueIDs() { } QVariantList iLister::DeviceIcons(const QString &id) { + Q_UNUSED(id); return QVariantList() << "ipodtouchicon"; } QString iLister::DeviceManufacturer(const QString &id) { + Q_UNUSED(id); return "Apple"; } diff --git a/src/device/imobiledeviceconnection.cpp b/src/device/imobiledeviceconnection.cpp index 8379a0ef7..9bb567437 100644 --- a/src/device/imobiledeviceconnection.cpp +++ b/src/device/imobiledeviceconnection.cpp @@ -213,6 +213,8 @@ bool iMobileDeviceConnection::Exists(const QString &path) { QString iMobileDeviceConnection::GetUnusedFilename(Itdb_iTunesDB *itdb, const Song &metadata) { + Q_UNUSED(itdb); + // This function does the same as itdb_cp_get_dest_filename, except it accesses the device's filesystem through imobiledevice. // Get the total number of F.. directories diff --git a/src/device/imobiledeviceconnection.h b/src/device/imobiledeviceconnection.h index 231d5c220..957702f36 100644 --- a/src/device/imobiledeviceconnection.h +++ b/src/device/imobiledeviceconnection.h @@ -55,7 +55,7 @@ public: bool is_valid() { return device_ && afc_; } private: - Q_DISABLE_COPY(iMobileDeviceConnection); + Q_DISABLE_COPY(iMobileDeviceConnection) idevice_t device_; afc_client_t afc_; diff --git a/src/device/mtpconnection.h b/src/device/mtpconnection.h index 5ef90ceda..f578d2321 100644 --- a/src/device/mtpconnection.h +++ b/src/device/mtpconnection.h @@ -44,7 +44,7 @@ public: bool GetSupportedFiletypes(QList *ret); private: - Q_DISABLE_COPY(MtpConnection); + Q_DISABLE_COPY(MtpConnection) LIBMTP_mtpdevice_t *device_; }; diff --git a/src/device/udisks2lister.cpp b/src/device/udisks2lister.cpp index bb52561bd..e29db671c 100644 --- a/src/device/udisks2lister.cpp +++ b/src/device/udisks2lister.cpp @@ -61,6 +61,7 @@ QStringList Udisks2Lister::DeviceUniqueIDs() { } QVariantList Udisks2Lister::DeviceIcons(const QString &id) { + Q_UNUSED(id); return QVariantList(); } @@ -245,6 +246,7 @@ void Udisks2Lister::DBusInterfaceAdded(const QDBusObjectPath &path, const Interf } void Udisks2Lister::DBusInterfaceRemoved(const QDBusObjectPath &path, const QStringList &ifaces) { + Q_UNUSED(ifaces); if (!isPendingJob(path)) RemoveDevice(path); } @@ -296,6 +298,8 @@ QList Udisks2Lister::GetMountedPartitionsFromDBusArgument(const void Udisks2Lister::JobCompleted(bool success, const QString &message) { + Q_UNUSED(message); + auto job = qobject_cast(sender()); QDBusObjectPath jobPath(job->path()); diff --git a/src/dialogs/edittagdialog.cpp b/src/dialogs/edittagdialog.cpp index 1fa2c5356..03e9ff161 100644 --- a/src/dialogs/edittagdialog.cpp +++ b/src/dialogs/edittagdialog.cpp @@ -563,6 +563,8 @@ void EditTagDialog::UpdateStatisticsTab(const Song &song) { void EditTagDialog::AlbumCoverLoaded(const quint64 id, const QUrl &cover_url, const QImage &scaled, const QImage &original) { + Q_UNUSED(cover_url); + if (id == cover_art_id_) { ui_->art->setPixmap(QPixmap::fromImage(scaled)); original_ = original; diff --git a/src/engine/engine_fwd.h b/src/engine/engine_fwd.h index eb5c407c4..fee47d981 100644 --- a/src/engine/engine_fwd.h +++ b/src/engine/engine_fwd.h @@ -1,6 +1,8 @@ #ifndef ENGINE_FWD_H #define ENGINE_FWD_H +#include + /// Used by eg engineobserver.h, and thus we reduce header dependencies on enginebase.h namespace Engine { @@ -31,7 +33,7 @@ enum TrackChangeType { SameAlbum = 0x10, }; -Q_DECLARE_FLAGS(TrackChangeFlags, TrackChangeType); +Q_DECLARE_FLAGS(TrackChangeFlags, TrackChangeType) } diff --git a/src/engine/enginebase.cpp b/src/engine/enginebase.cpp index f935a8f6a..21c825c13 100644 --- a/src/engine/enginebase.cpp +++ b/src/engine/enginebase.cpp @@ -138,6 +138,8 @@ void Engine::Base::EmitAboutToEnd() { bool Engine::Base::ValidOutput(const QString &output) { + Q_UNUSED(output); + return (true); } diff --git a/src/engine/enginebase.h b/src/engine/enginebase.h index 7faf2deab..d3640343e 100644 --- a/src/engine/enginebase.h +++ b/src/engine/enginebase.h @@ -69,23 +69,23 @@ public: virtual bool Init() = 0; virtual State state() const = 0; - virtual void StartPreloading(const QUrl &stream_url, const QUrl &original_url, bool, qint64, qint64) {} - virtual bool Load(const QUrl &stream_url, const QUrl &original_url, TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec); - virtual bool Play(quint64 offset_nanosec) = 0; - virtual void Stop(bool stop_after = false) = 0; + virtual void StartPreloading(const QUrl&, const QUrl&, const bool, const qint64, const qint64) {} + virtual bool Load(const QUrl &stream_url, const QUrl &original_url, const TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec); + virtual bool Play(const quint64 offset_nanosec) = 0; + virtual void Stop(const bool stop_after = false) = 0; virtual void Pause() = 0; virtual void Unpause() = 0; - virtual void Seek(quint64 offset_nanosec) = 0; - virtual void SetVolumeSW(uint percent) = 0; + virtual void Seek(const quint64 offset_nanosec) = 0; + virtual void SetVolumeSW(const uint percent) = 0; virtual qint64 position_nanosec() const = 0; virtual qint64 length_nanosec() const = 0; - virtual const Scope &scope(int chunk_length) { return scope_; } + virtual const Scope &scope(const int chunk_length) { Q_UNUSED(chunk_length); return scope_; } // Sets new values for the beginning and end markers of the currently playing song. // This doesn't change the state of engine or the stream's current position. - virtual void RefreshMarkers(quint64 beginning_nanosec, qint64 end_nanosec) { + virtual void RefreshMarkers(const quint64 beginning_nanosec, const qint64 end_nanosec) { beginning_nanosec_ = beginning_nanosec; end_nanosec_ = end_nanosec; } @@ -98,9 +98,9 @@ public: // Plays a media stream represented with the URL 'u' from the given 'beginning' to the given 'end' (usually from 0 to a song's length). // Both markers should be passed in nanoseconds. 'end' can be negative, indicating that the real length of 'u' stream is unknown. - bool Play(const QUrl &stream_url, const QUrl &original_url, TrackChangeFlags c, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec); - void SetVolume(uint value); - static uint MakeVolumeLogarithmic(uint volume); + bool Play(const QUrl &stream_url, const QUrl &original_url, const TrackChangeFlags c, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec); + void SetVolume(const uint value); + static uint MakeVolumeLogarithmic(const uint volume); public slots: virtual void ReloadSettings(); @@ -125,12 +125,12 @@ public: QVariant device() { return device_; } -public slots: - virtual void SetEqualizerEnabled(bool) {} - virtual void SetEqualizerParameters(int preamp, const QList &bandGains) {} - virtual void SetStereoBalance(float value) {} + public slots: + virtual void SetEqualizerEnabled(const bool) {} + virtual void SetEqualizerParameters(const int preamp, const QList &bandGains) { Q_UNUSED(preamp); Q_UNUSED(bandGains); } + virtual void SetStereoBalance(float value) { Q_UNUSED(value); } -signals: + signals: // Emitted when crossfading is enabled and the track is crossfade_duration_ away from finishing void TrackAboutToEnd(); @@ -201,7 +201,7 @@ signals: private: bool about_to_end_emitted_; - Q_DISABLE_COPY(Base); + Q_DISABLE_COPY(Base) }; @@ -226,6 +226,6 @@ struct SimpleMetaBundle { } // namespace -Q_DECLARE_METATYPE(EngineBase::OutputDetails); +Q_DECLARE_METATYPE(EngineBase::OutputDetails) #endif diff --git a/src/engine/enginetype.h b/src/engine/enginetype.h index 71435eea5..1bdde6e19 100644 --- a/src/engine/enginetype.h +++ b/src/engine/enginetype.h @@ -40,6 +40,6 @@ QString EngineName(Engine::EngineType enginetype); QString EngineDescription(Engine::EngineType enginetype); } -Q_DECLARE_METATYPE(Engine::EngineType); +Q_DECLARE_METATYPE(Engine::EngineType) #endif diff --git a/src/engine/gstengine.cpp b/src/engine/gstengine.cpp index be8a31984..c320d14ee 100644 --- a/src/engine/gstengine.cpp +++ b/src/engine/gstengine.cpp @@ -131,7 +131,7 @@ Engine::State GstEngine::state() const { } -void GstEngine::StartPreloading(const QUrl &stream_url, const QUrl &original_url, bool force_stop_at_end, qint64 beginning_nanosec, qint64 end_nanosec) { +void GstEngine::StartPreloading(const QUrl &stream_url, const QUrl &original_url, const bool force_stop_at_end, const qint64 beginning_nanosec, const qint64 end_nanosec) { EnsureInitialised(); @@ -143,7 +143,7 @@ void GstEngine::StartPreloading(const QUrl &stream_url, const QUrl &original_url } -bool GstEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) { +bool GstEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec) { EnsureInitialised(); @@ -181,7 +181,7 @@ bool GstEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::T } -bool GstEngine::Play(quint64 offset_nanosec) { +bool GstEngine::Play(const quint64 offset_nanosec) { EnsureInitialised(); @@ -198,7 +198,7 @@ bool GstEngine::Play(quint64 offset_nanosec) { } -void GstEngine::Stop(bool stop_after) { +void GstEngine::Stop(const bool stop_after) { StopTimers(); @@ -272,7 +272,7 @@ void GstEngine::Unpause() { } } -void GstEngine::Seek(quint64 offset_nanosec) { +void GstEngine::Seek(const quint64 offset_nanosec) { if (!current_pipeline_) return; @@ -285,7 +285,7 @@ void GstEngine::Seek(quint64 offset_nanosec) { } } -void GstEngine::SetVolumeSW(uint percent) { +void GstEngine::SetVolumeSW(const uint percent) { if (current_pipeline_) current_pipeline_->SetVolume(percent); } @@ -314,7 +314,7 @@ qint64 GstEngine::length_nanosec() const { } -const Engine::Scope &GstEngine::scope(int chunk_length) { +const Engine::Scope &GstEngine::scope(const int chunk_length) { // The new buffer could have a different size if (have_new_buffer_) { @@ -392,7 +392,7 @@ void GstEngine::ReloadSettings() { } -GstElement *GstEngine::CreateElement(const QString &factoryName, GstElement *bin, bool showerror) { +GstElement *GstEngine::CreateElement(const QString &factoryName, GstElement *bin, const bool showerror) { // Make a unique name QString name = factoryName + "-" + QString::number(next_element_id_++); @@ -411,7 +411,7 @@ GstElement *GstEngine::CreateElement(const QString &factoryName, GstElement *bin return element; } -void GstEngine::ConsumeBuffer(GstBuffer *buffer, int pipeline_id) { +void GstEngine::ConsumeBuffer(GstBuffer *buffer, const int pipeline_id) { // Schedule this to run in the GUI thread. The buffer gets added to the queue and unreffed by UpdateScope. if (!QMetaObject::invokeMethod(this, "AddBufferToScope", Q_ARG(GstBuffer*, buffer), Q_ARG(int, pipeline_id))) { @@ -420,14 +420,14 @@ void GstEngine::ConsumeBuffer(GstBuffer *buffer, int pipeline_id) { } -void GstEngine::SetEqualizerEnabled(bool enabled) { +void GstEngine::SetEqualizerEnabled(const bool enabled) { equalizer_enabled_ = enabled; if (current_pipeline_) current_pipeline_->SetEqualizerEnabled(enabled); } -void GstEngine::SetEqualizerParameters(int preamp, const QList &band_gains) { +void GstEngine::SetEqualizerParameters(const int preamp, const QList &band_gains) { equalizer_preamp_ = preamp; equalizer_gains_ = band_gains; @@ -437,7 +437,7 @@ void GstEngine::SetEqualizerParameters(int preamp, const QList &band_gains) } -void GstEngine::SetStereoBalance(float value) { +void GstEngine::SetStereoBalance(const float value) { stereo_balance_ = value; @@ -479,7 +479,7 @@ void GstEngine::timerEvent(QTimerEvent *e) { } -void GstEngine::EndOfStreamReached(int pipeline_id, bool has_next_track) { +void GstEngine::EndOfStreamReached(const int pipeline_id, const bool has_next_track) { if (!current_pipeline_.get() || current_pipeline_->id() != pipeline_id) return; @@ -513,14 +513,14 @@ void GstEngine::HandlePipelineError(int pipeline_id, const QString &message, int } -void GstEngine::NewMetaData(int pipeline_id, const Engine::SimpleMetaBundle &bundle) { +void GstEngine::NewMetaData(const int pipeline_id, const Engine::SimpleMetaBundle &bundle) { if (!current_pipeline_.get() || current_pipeline_->id() != pipeline_id) return; emit MetaData(bundle); } -void GstEngine::AddBufferToScope(GstBuffer *buf, int pipeline_id) { +void GstEngine::AddBufferToScope(GstBuffer *buf, const int pipeline_id) { if (!current_pipeline_ || current_pipeline_->id() != pipeline_id) { gst_buffer_unref(buf); @@ -618,7 +618,7 @@ void GstEngine::BufferingStarted() { } -void GstEngine::BufferingProgress(int percent) { +void GstEngine::BufferingProgress(const int percent) { task_manager_->SetTaskProgress(buffering_task_id_, percent, 100); } @@ -761,7 +761,7 @@ shared_ptr GstEngine::CreatePipeline() { } -shared_ptr GstEngine::CreatePipeline(const QByteArray &gst_url, const QUrl &original_url, qint64 end_nanosec) { +shared_ptr GstEngine::CreatePipeline(const QByteArray &gst_url, const QUrl &original_url, const qint64 end_nanosec) { shared_ptr ret = CreatePipeline(); if (!ret->InitFromUrl(gst_url, original_url, end_nanosec)) ret.reset(); @@ -769,7 +769,7 @@ shared_ptr GstEngine::CreatePipeline(const QByteArray &gst_ur } -void GstEngine::UpdateScope(int chunk_length) { +void GstEngine::UpdateScope(const int chunk_length) { typedef Engine::Scope::value_type sample_type; diff --git a/src/engine/gstengine.h b/src/engine/gstengine.h index 27a02f741..d5bb4b7ac 100644 --- a/src/engine/gstengine.h +++ b/src/engine/gstengine.h @@ -69,21 +69,21 @@ class GstEngine : public Engine::Base, public GstBufferConsumer { bool Init(); Engine::State state() const; - void StartPreloading(const QUrl &stream_url, const QUrl &original_url, bool force_stop_at_end, qint64 beginning_nanosec, qint64 end_nanosec); - bool Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec); - bool Play(quint64 offset_nanosec); - void Stop(bool stop_after = false); + void StartPreloading(const QUrl &stream_url, const QUrl &original_url, const bool force_stop_at_end, const qint64 beginning_nanosec, const qint64 end_nanosec); + bool Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec); + bool Play(const quint64 offset_nanosec); + void Stop(const bool stop_after = false); void Pause(); void Unpause(); - void Seek(quint64 offset_nanosec); + void Seek(const quint64 offset_nanosec); protected: - void SetVolumeSW(uint percent); + void SetVolumeSW(const uint percent); public: qint64 position_nanosec() const; qint64 length_nanosec() const; - const Engine::Scope &scope(int chunk_length); + const Engine::Scope &scope(const int chunk_length); OutputDetailsList GetOutputsList() const; bool ValidOutput(const QString &output); @@ -94,7 +94,7 @@ class GstEngine : public Engine::Base, public GstBufferConsumer { void SetStartup(GstStartup *gst_startup) { gst_startup_ = gst_startup; } void EnsureInitialised() { gst_startup_->EnsureInitialised(); } - GstElement *CreateElement(const QString &factoryName, GstElement *bin = nullptr, bool showerror = true); + GstElement *CreateElement(const QString &factoryName, GstElement *bin = nullptr, const bool showerror = true); void ConsumeBuffer(GstBuffer *buffer, int pipeline_id); public slots: @@ -102,13 +102,13 @@ class GstEngine : public Engine::Base, public GstBufferConsumer { void ReloadSettings(); /** Set whether equalizer is enabled */ - void SetEqualizerEnabled(bool); + void SetEqualizerEnabled(const bool); /** Set equalizer preamp and gains, range -100..100. Gains are 10 values. */ - void SetEqualizerParameters(int preamp, const QList &bandGains); + void SetEqualizerParameters(const int preamp, const QList &bandGains); /** Set Stereo balance, range -1.0f..1.0f */ - void SetStereoBalance(float value); + void SetStereoBalance(const float value); void AddBufferConsumer(GstBufferConsumer *consumer); void RemoveBufferConsumer(GstBufferConsumer *consumer); @@ -121,10 +121,10 @@ class GstEngine : public Engine::Base, public GstBufferConsumer { void timerEvent(QTimerEvent*); private slots: - void EndOfStreamReached(int pipeline_id, bool has_next_track); - void HandlePipelineError(int pipeline_id, const QString &message, int domain, int error_code); - void NewMetaData(int pipeline_id, const Engine::SimpleMetaBundle &bundle); - void AddBufferToScope(GstBuffer *buf, int pipeline_id); + void EndOfStreamReached(const int pipeline_id, const bool has_next_track); + void HandlePipelineError(const int pipeline_id, const QString &message, const int domain, const int error_code); + void NewMetaData(const int pipeline_id, const Engine::SimpleMetaBundle &bundle); + void AddBufferToScope(GstBuffer *buf, const int pipeline_id); void FadeoutFinished(); void FadeoutPauseFinished(); void SeekNow(); @@ -158,7 +158,7 @@ class GstEngine : public Engine::Base, public GstBufferConsumer { void StopTimers(); std::shared_ptr CreatePipeline(); - std::shared_ptr CreatePipeline(const QByteArray &gst_url, const QUrl &original_url, qint64 end_nanosec); + std::shared_ptr CreatePipeline(const QByteArray &gst_url, const QUrl &original_url, const qint64 end_nanosec); void UpdateScope(int chunk_length); diff --git a/src/engine/gstenginepipeline.cpp b/src/engine/gstenginepipeline.cpp index ea351b9d1..1f26c895b 100644 --- a/src/engine/gstenginepipeline.cpp +++ b/src/engine/gstenginepipeline.cpp @@ -156,7 +156,7 @@ void GstEnginePipeline::set_replaygain(bool enabled, int mode, float preamp, boo } -void GstEnginePipeline::set_buffer_duration_nanosec(qint64 buffer_duration_nanosec) { +void GstEnginePipeline::set_buffer_duration_nanosec(const qint64 buffer_duration_nanosec) { buffer_duration_nanosec_ = buffer_duration_nanosec; } @@ -432,7 +432,7 @@ bool GstEnginePipeline::InitFromString(const QString &pipeline) { } -bool GstEnginePipeline::InitFromUrl(const QByteArray &stream_url, const QUrl original_url, qint64 end_nanosec) { +bool GstEnginePipeline::InitFromUrl(const QByteArray &stream_url, const QUrl original_url, const qint64 end_nanosec) { stream_url_ = stream_url; original_url_ = original_url; @@ -758,6 +758,8 @@ void GstEnginePipeline::BufferingMessageReceived(GstMessage *msg) { void GstEnginePipeline::NewPadCallback(GstElement*, GstPad *pad, gpointer self) { GstEnginePipeline *instance = reinterpret_cast(self); + if (!instance) return; + GstPad *const audiopad = gst_element_get_static_pad(instance->audiobin_, "sink"); // Link decodebin's sink pad to audiobin's src pad. @@ -787,6 +789,8 @@ void GstEnginePipeline::NewPadCallback(GstElement*, GstPad *pad, gpointer self) GstPadProbeReturn GstEnginePipeline::DecodebinProbe(GstPad *pad, GstPadProbeInfo *info, gpointer data) { GstEnginePipeline *instance = reinterpret_cast(data); + if (!instance) return GST_PAD_PROBE_OK; + const GstPadProbeType info_type = GST_PAD_PROBE_INFO_TYPE(info); if (info_type & GST_PAD_PROBE_TYPE_BUFFER) { @@ -826,6 +830,8 @@ GstPadProbeReturn GstEnginePipeline::DecodebinProbe(GstPad *pad, GstPadProbeInfo GstPadProbeReturn GstEnginePipeline::HandoffCallback(GstPad*, GstPadProbeInfo *info, gpointer self) { GstEnginePipeline *instance = reinterpret_cast(self); + if (!instance) return GST_PAD_PROBE_OK; + GstBuffer *buf = gst_pad_probe_info_get_buffer(info); QList consumers; @@ -872,6 +878,8 @@ GstPadProbeReturn GstEnginePipeline::HandoffCallback(GstPad*, GstPadProbeInfo *i GstPadProbeReturn GstEnginePipeline::EventHandoffCallback(GstPad*, GstPadProbeInfo *info, gpointer self) { GstEnginePipeline *instance = reinterpret_cast(self); + if (!instance) return GST_PAD_PROBE_OK; + GstEvent *e = gst_pad_probe_info_get_event(info); qLog(Debug) << instance->id() << "event" << GST_EVENT_TYPE_NAME(e); @@ -897,7 +905,10 @@ GstPadProbeReturn GstEnginePipeline::EventHandoffCallback(GstPad*, GstPadProbeIn void GstEnginePipeline::AboutToFinishCallback(GstPlayBin *bin, gpointer self) { + Q_UNUSED(bin); + GstEnginePipeline *instance = reinterpret_cast(self); + if (!instance) return; if (instance->has_next_valid_url() && !instance->next_uri_set_) { // Set the next uri. When the current song ends it will be played automatically and a STREAM_START message is send to the bus. @@ -910,7 +921,11 @@ void GstEnginePipeline::AboutToFinishCallback(GstPlayBin *bin, gpointer self) { void GstEnginePipeline::SourceSetupCallback(GstPlayBin *bin, GParamSpec *pspec, gpointer self) { + Q_UNUSED(pspec); + GstEnginePipeline *instance = reinterpret_cast(self); + if (!instance) return; + GstElement *element; g_object_get(bin, "source", &element, nullptr); if (!element) { @@ -927,12 +942,6 @@ void GstEnginePipeline::SourceSetupCallback(GstPlayBin *bin, GParamSpec *pspec, QString user_agent = QString("%1 %2").arg(QCoreApplication::applicationName(), QCoreApplication::applicationVersion()); g_object_set(element, "user-agent", user_agent.toUtf8().constData(), nullptr); g_object_set(element, "ssl-strict", FALSE, nullptr); - -//#ifdef Q_OS_MACOS - //g_object_set(element, "tls-database", instance->engine_->tls_database(), nullptr); - //g_object_set(element, "ssl-use-system-ca-file", false, nullptr); - //g_object_set(element, "ssl-strict", TRUE, nullptr); -//#endif } // If the pipeline was buffering we stop that now. @@ -978,7 +987,7 @@ QFuture GstEnginePipeline::SetState(GstState state) { } -bool GstEnginePipeline::Seek(qint64 nanosec) { +bool GstEnginePipeline::Seek(const qint64 nanosec) { if (ignore_next_seek_) { ignore_next_seek_ = false; @@ -1011,7 +1020,7 @@ void GstEnginePipeline::SetEqualizerEnabled(bool enabled) { } -void GstEnginePipeline::SetEqualizerParams(int preamp, const QList& band_gains) { +void GstEnginePipeline::SetEqualizerParams(const int preamp, const QList& band_gains) { eq_preamp_ = preamp; eq_band_gains_ = band_gains; @@ -1019,7 +1028,7 @@ void GstEnginePipeline::SetEqualizerParams(int preamp, const QList& band_ga } -void GstEnginePipeline::SetStereoBalance(float value) { +void GstEnginePipeline::SetStereoBalance(const float value) { stereo_balance_ = value; UpdateStereoBalance(); @@ -1059,13 +1068,13 @@ void GstEnginePipeline::UpdateStereoBalance() { } } -void GstEnginePipeline::SetVolume(int percent) { +void GstEnginePipeline::SetVolume(const int percent) { if (!volume_) return; volume_percent_ = percent; UpdateVolume(); } -void GstEnginePipeline::SetVolumeModifier(qreal mod) { +void GstEnginePipeline::SetVolumeModifier(const qreal mod) { if (!volume_) return; volume_modifier_ = mod; UpdateVolume(); @@ -1077,7 +1086,7 @@ void GstEnginePipeline::UpdateVolume() { g_object_set(G_OBJECT(volume_), "volume", vol, nullptr); } -void GstEnginePipeline::StartFader(qint64 duration_nanosec, QTimeLine::Direction direction, QTimeLine::CurveShape shape, bool use_fudge_timer) { +void GstEnginePipeline::StartFader(const qint64 duration_nanosec, const QTimeLine::Direction direction, const QTimeLine::CurveShape shape, const bool use_fudge_timer) { const int duration_msec = duration_nanosec / kNsecPerMsec; @@ -1153,7 +1162,7 @@ void GstEnginePipeline::RemoveAllBufferConsumers() { buffer_consumers_.clear(); } -void GstEnginePipeline::SetNextUrl(const QByteArray &stream_url, const QUrl &original_url, qint64 beginning_nanosec, qint64 end_nanosec) { +void GstEnginePipeline::SetNextUrl(const QByteArray &stream_url, const QUrl &original_url, const qint64 beginning_nanosec, const qint64 end_nanosec) { next_stream_url_ = stream_url; next_original_url_ = original_url; @@ -1164,6 +1173,9 @@ void GstEnginePipeline::SetNextUrl(const QByteArray &stream_url, const QUrl &ori void GstEnginePipeline::StreamDiscovered(GstDiscoverer *discoverer, GstDiscovererInfo *info, GError *err, gpointer self) { + Q_UNUSED(discoverer); + Q_UNUSED(err); + GstEnginePipeline *instance = reinterpret_cast(self); if (!instance) return; @@ -1218,6 +1230,8 @@ void GstEnginePipeline::StreamDiscovered(GstDiscoverer *discoverer, GstDiscovere } void GstEnginePipeline::StreamDiscoveryFinished(GstDiscoverer *discoverer, gpointer self) { + Q_UNUSED(discoverer); + Q_UNUSED(self); //GstEnginePipeline *instance = reinterpret_cast(self); } diff --git a/src/engine/gstenginepipeline.h b/src/engine/gstenginepipeline.h index 3f024bb77..938d16e0a 100644 --- a/src/engine/gstenginepipeline.h +++ b/src/engine/gstenginepipeline.h @@ -69,13 +69,13 @@ class GstEnginePipeline : public QObject { // Call these setters before Init void set_output_device(const QString &sink, const QVariant &device); - void set_volume_control(bool volume_control); - void set_replaygain(bool enabled, int mode, float preamp, bool compression); + void set_volume_control(const bool volume_control); + void set_replaygain(const bool enabled, const int mode, const float preamp, const bool compression); void set_buffer_duration_nanosec(qint64 duration_nanosec); void set_buffer_min_fill(int percent); // Creates the pipeline, returns false on error - bool InitFromUrl(const QByteArray &stream_url, const QUrl original_url, qint64 end_nanosec); + bool InitFromUrl(const QByteArray &stream_url, const QUrl original_url, const qint64 end_nanosec); bool InitFromString(const QString &pipeline); // GstBufferConsumers get fed audio data. Thread-safe. @@ -84,13 +84,13 @@ class GstEnginePipeline : public QObject { void RemoveAllBufferConsumers(); // Control the music playback - QFuture SetState(GstState state); - Q_INVOKABLE bool Seek(qint64 nanosec); - void SetEqualizerEnabled(bool enabled); - void SetEqualizerParams(int preamp, const QList &band_gains); - void SetVolume(int percent); - void SetStereoBalance(float value); - void StartFader(qint64 duration_nanosec, QTimeLine::Direction direction = QTimeLine::Forward, QTimeLine::CurveShape shape = QTimeLine::LinearCurve, bool use_fudge_timer = true); + QFuture SetState(const GstState state); + Q_INVOKABLE bool Seek(const qint64 nanosec); + void SetEqualizerEnabled(const bool enabled); + void SetEqualizerParams(const int preamp, const QList &band_gains); + void SetVolume(const int percent); + void SetStereoBalance(const float value); + void StartFader(const qint64 duration_nanosec, const QTimeLine::Direction direction = QTimeLine::Forward, const QTimeLine::CurveShape shape = QTimeLine::LinearCurve, const bool use_fudge_timer = true); // If this is set then it will be loaded automatically when playback finishes for gapless playback void SetNextUrl(const QByteArray &stream_url, const QUrl &original_url, qint64 beginning_nanosec, qint64 end_nanosec); @@ -121,11 +121,11 @@ class GstEnginePipeline : public QObject { void SetVolumeModifier(qreal mod); signals: - void EndOfStreamReached(int pipeline_id, bool has_next_track); - void MetadataFound(int pipeline_id, const Engine::SimpleMetaBundle &bundle); + void EndOfStreamReached(const int pipeline_id, const bool has_next_track); + void MetadataFound(const int pipeline_id, const Engine::SimpleMetaBundle &bundle); // This indicates an error, delegated from GStreamer, in the pipeline. // The message, domain and error_code are related to GStreamer's GError. - void Error(int pipeline_id, const QString &message, int domain, int error_code); + void Error(const int pipeline_id, const QString &message, const int domain, const int error_code); void FaderFinished(); void BufferingStarted(); diff --git a/src/engine/phononengine.cpp b/src/engine/phononengine.cpp index 90b1c7231..535a77b4c 100644 --- a/src/engine/phononengine.cpp +++ b/src/engine/phononengine.cpp @@ -39,6 +39,8 @@ PhononEngine::PhononEngine(TaskManager *task_manager) state_timer_(new QTimer(this)), seek_offset_(-1) { + Q_UNUSED(task_manager); + type_ = Engine::Phonon; Phonon::createPath(media_object_, audio_output_); @@ -61,16 +63,24 @@ bool PhononEngine::Init() { } bool PhononEngine::CanDecode(const QUrl &url) { + Q_UNUSED(url); // TODO return true; } -bool PhononEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) { +bool PhononEngine::Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec) { + + Q_UNUSED(original_url); + Q_UNUSED(change); + Q_UNUSED(force_stop_at_end); + Q_UNUSED(beginning_nanosec); + Q_UNUSED(end_nanosec); + media_object_->setCurrentSource(Phonon::MediaSource(stream_url)); return true; } -bool PhononEngine::Play(quint64 offset_nanosec) { +bool PhononEngine::Play(const quint64 offset_nanosec) { // The seek happens in PhononStateChanged - phonon doesn't seem to change currentTime() if we seek before we start playing :S seek_offset_ = (offset_nanosec / kNsecPerMsec); @@ -80,7 +90,8 @@ bool PhononEngine::Play(quint64 offset_nanosec) { } -void PhononEngine::Stop(bool stop_after) { +void PhononEngine::Stop(const bool stop_after) { + Q_UNUSED(stop_after); media_object_->stop(); } @@ -119,12 +130,12 @@ uint PhononEngine::length() const { return media_object_->totalTime(); } -void PhononEngine::Seek(quint64 offset_nanosec) { +void PhononEngine::Seek(const quint64 offset_nanosec) { int offset = (offset_nanosec / kNsecPerMsec); media_object_->seek(offset); } -void PhononEngine::SetVolumeSW(uint volume) { +void PhononEngine::SetVolumeSW(const uint volume) { audio_output_->setVolume(volume); } @@ -132,7 +143,7 @@ void PhononEngine::PhononFinished() { emit TrackEnded(); } -void PhononEngine::PhononStateChanged(Phonon::State new_state) { +void PhononEngine::PhononStateChanged(const Phonon::State new_state) { if (new_state == Phonon::ErrorState) { emit Error(media_object_->errorString()); @@ -159,6 +170,7 @@ qint64 PhononEngine::position_nanosec() const { } qint64 PhononEngine::length_nanosec() const { + if (state() == Engine::Empty) return 0; const qint64 result = end_nanosec_ - beginning_nanosec_; if (result > 0) { @@ -168,9 +180,11 @@ qint64 PhononEngine::length_nanosec() const { // Get the length from the pipeline if we don't know. return (length() * kNsecPerMsec); } + } EngineBase::OutputDetailsList PhononEngine::GetOutputsList() const { + OutputDetailsList ret; OutputDetails output; output.name = "none"; @@ -178,6 +192,7 @@ EngineBase::OutputDetailsList PhononEngine::GetOutputsList() const { output.iconname = "soundcard"; ret << output; return ret; + } bool PhononEngine::ValidOutput(const QString &output) { @@ -187,9 +202,11 @@ bool PhononEngine::ValidOutput(const QString &output) { } bool PhononEngine::CustomDeviceSupport(const QString &output) { + Q_UNUSED(output); return false; } bool PhononEngine::ALSADeviceSupport(const QString &output) { + Q_UNUSED(output); return false; } diff --git a/src/engine/phononengine.h b/src/engine/phononengine.h index c5ab4ca9e..b8279e79b 100644 --- a/src/engine/phononengine.h +++ b/src/engine/phononengine.h @@ -49,9 +49,9 @@ class PhononEngine : public Engine::Base { bool CanDecode(const QUrl &url); - bool Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec); - bool Play(quint64 offset_nanosec); - void Stop(bool stop_after = false); + bool Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec); + bool Play(const quint64 offset_nanosec); + void Stop(const bool stop_after = false); void Pause(); void Unpause(); @@ -59,22 +59,22 @@ class PhononEngine : public Engine::Base { uint position() const; uint length() const; - void Seek(quint64 offset_nanosec); + void Seek(const quint64 offset_nanosec); qint64 position_nanosec() const; qint64 length_nanosec() const; - QString DefaultOutput() { return ""; } + QString DefaultOutput() { return QString(""); } bool ValidOutput(const QString &output); bool CustomDeviceSupport(const QString &output); bool ALSADeviceSupport(const QString &output); protected: - void SetVolumeSW( uint percent ); + void SetVolumeSW(const uint percent ); private slots: void PhononFinished(); - void PhononStateChanged(Phonon::State new_state); + void PhononStateChanged(const Phonon::State new_state); void StateTimeoutExpired(); private: diff --git a/src/engine/pulsedevicefinder.cpp b/src/engine/pulsedevicefinder.cpp index be7b1bc20..b9cc98739 100644 --- a/src/engine/pulsedevicefinder.cpp +++ b/src/engine/pulsedevicefinder.cpp @@ -117,7 +117,10 @@ retry: void PulseDeviceFinder::GetSinkInfoCallback(pa_context *c, const pa_sink_info *info, int eol, void *state_voidptr) { + Q_UNUSED(c); + ListDevicesState *state = reinterpret_cast(state_voidptr); + if (!state) return; if (info) { Device dev; diff --git a/src/engine/vlcengine.cpp b/src/engine/vlcengine.cpp index 045f9d5b4..3cb58c248 100644 --- a/src/engine/vlcengine.cpp +++ b/src/engine/vlcengine.cpp @@ -43,6 +43,8 @@ VLCEngine::VLCEngine(TaskManager *task_manager) player_(nullptr), state_(Engine::Empty) { + Q_UNUSED(task_manager); + type_ = Engine::VLC; ReloadSettings(); @@ -98,7 +100,13 @@ bool VLCEngine::Init() { } -bool VLCEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) { +bool VLCEngine::Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec) { + + Q_UNUSED(original_url); + Q_UNUSED(change); + Q_UNUSED(force_stop_at_end); + Q_UNUSED(beginning_nanosec); + Q_UNUSED(end_nanosec); if (!Initialised()) return false; @@ -111,7 +119,7 @@ bool VLCEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::T } -bool VLCEngine::Play(quint64 offset_nanosec) { +bool VLCEngine::Play(const quint64 offset_nanosec) { if (!Initialised()) return false; @@ -135,7 +143,9 @@ bool VLCEngine::Play(quint64 offset_nanosec) { } -void VLCEngine::Stop(bool stop_after) { +void VLCEngine::Stop(const bool stop_after) { + + Q_UNUSED(stop_after); if (!Initialised()) return; libvlc_media_player_stop(player_); @@ -156,7 +166,7 @@ void VLCEngine::Unpause() { } -void VLCEngine::Seek(quint64 offset_nanosec) { +void VLCEngine::Seek(const quint64 offset_nanosec) { if (!Initialised()) return; @@ -171,7 +181,7 @@ void VLCEngine::Seek(quint64 offset_nanosec) { } -void VLCEngine::SetVolumeSW(uint percent) { +void VLCEngine::SetVolumeSW(const uint percent) { if (!Initialised()) return; if (!volume_control_ && percent != 100) return; libvlc_audio_set_volume(player_, percent); @@ -261,7 +271,7 @@ uint VLCEngine::length() const { } -bool VLCEngine::CanDecode(const QUrl &url) { return true; } +bool VLCEngine::CanDecode(const QUrl &url) { Q_UNUSED(url); return true; } void VLCEngine::AttachCallback(libvlc_event_manager_t *em, libvlc_event_type_t type, libvlc_callback_t callback) { @@ -336,7 +346,9 @@ EngineBase::PluginDetailsList VLCEngine::GetPluginList() const { } -void VLCEngine::GetDevicesList(QString output) const { +void VLCEngine::GetDevicesList(const QString &output) const { + + Q_UNUSED(output); libvlc_audio_output_device_t *audio_output_device_list = libvlc_audio_output_device_list_get(instance_, output_.toUtf8().constData()); for (libvlc_audio_output_device_t *audio_device = audio_output_device_list ; audio_device ; audio_device = audio_device->p_next) { diff --git a/src/engine/vlcengine.h b/src/engine/vlcengine.h index eb431f493..4012c9157 100644 --- a/src/engine/vlcengine.h +++ b/src/engine/vlcengine.h @@ -48,14 +48,14 @@ class VLCEngine : public Engine::Base { bool Init(); Engine::State state() const { return state_; } - bool Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec); - bool Play(quint64 offset_nanosec); - void Stop(bool stop_after = false); + bool Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec); + bool Play(const quint64 offset_nanosec); + void Stop(const bool stop_after = false); void Pause(); void Unpause(); - void Seek(quint64 offset_nanosec); + void Seek(const quint64 offset_nanosec); protected: - void SetVolumeSW(uint percent); + void SetVolumeSW(const uint percent); public: virtual qint64 position_nanosec() const; virtual qint64 length_nanosec() const; @@ -79,7 +79,7 @@ class VLCEngine : public Engine::Base { static void StateChangedCallback(const libvlc_event_t* e, void* data); PluginDetailsList GetPluginList() const; - void GetDevicesList(QString output) const; + void GetDevicesList(const QString &output) const; }; diff --git a/src/engine/vlcscopedref.h b/src/engine/vlcscopedref.h index 43d4cf29b..89d6eec8a 100644 --- a/src/engine/vlcscopedref.h +++ b/src/engine/vlcscopedref.h @@ -52,9 +52,9 @@ class VlcScopedRef { template void VlcScopedRef_Release(T* ptr); -VLCSCOPEDREF_DEFINE2(instance, libvlc_release); -VLCSCOPEDREF_DEFINE(media_player); -VLCSCOPEDREF_DEFINE(media); +VLCSCOPEDREF_DEFINE2(instance, libvlc_release) +VLCSCOPEDREF_DEFINE(media_player) +VLCSCOPEDREF_DEFINE(media) template <> void VlcScopedRef_Release(char* ptr) { free(ptr); } diff --git a/src/engine/xineengine.cpp b/src/engine/xineengine.cpp index 974d1cf4d..35d23e91f 100644 --- a/src/engine/xineengine.cpp +++ b/src/engine/xineengine.cpp @@ -95,6 +95,8 @@ XineEngine::XineEngine(TaskManager *task_manager) preamp_(1.0), have_metadata_(false) { + Q_UNUSED(task_manager); + type_ = Engine::Xine; ReloadSettings(); @@ -306,7 +308,7 @@ Engine::State XineEngine::state() const { } -bool XineEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) { +bool XineEngine::Load(const QUrl &stream_url, const QUrl &original_url, const Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec) { if (!EnsureStream()) return false; @@ -333,7 +335,7 @@ bool XineEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine:: } -bool XineEngine::Play(quint64 offset_nanosec) { +bool XineEngine::Play(const quint64 offset_nanosec) { if (!EnsureStream()) return false; @@ -354,7 +356,9 @@ bool XineEngine::Play(quint64 offset_nanosec) { } -void XineEngine::Stop(bool stop_after) { +void XineEngine::Stop(const bool stop_after) { + + Q_UNUSED(stop_after); if (!stream_) return; @@ -394,7 +398,7 @@ void XineEngine::Unpause() { } -void XineEngine::Seek(quint64 offset_nanosec) { +void XineEngine::Seek(const quint64 offset_nanosec) { if (!EnsureStream()) return; @@ -409,7 +413,7 @@ void XineEngine::Seek(quint64 offset_nanosec) { } -void XineEngine::SetVolumeSW(uint vol) { +void XineEngine::SetVolumeSW(const uint vol) { if (!stream_) return; if (!volume_control_ && vol != 100) return; @@ -582,7 +586,7 @@ bool XineEngine::CanDecode(const QUrl &url) { } -void XineEngine::SetEqualizerEnabled(bool enabled) { +void XineEngine::SetEqualizerEnabled(const bool enabled) { if (!stream_) return; @@ -609,7 +613,7 @@ void XineEngine::SetEqualizerEnabled(bool enabled) { pre: (-100..100) post: (1..200) - (1 = down, 100 = middle, 200 = up, 0 = off) */ -void XineEngine::SetEqualizerParameters(int preamp, const QList &gains) { +void XineEngine::SetEqualizerParameters(const int preamp, const QList &gains) { if (!stream_) return; @@ -902,7 +906,9 @@ void XineEngine::DetermineAndShowErrorMessage() { #ifdef XINE_ANALYZER -const Engine::Scope &XineEngine::scope(int chunk_length) { +const Engine::Scope &XineEngine::scope(const int chunk_length) { + + Q_UNUSED(chunk_length); if (!post_ || !stream_ || xine_get_status(stream_) != XINE_STATUS_PLAY) return scope_; diff --git a/src/equalizer/equalizer.cpp b/src/equalizer/equalizer.cpp index cabb08009..b89616450 100644 --- a/src/equalizer/equalizer.cpp +++ b/src/equalizer/equalizer.cpp @@ -303,12 +303,16 @@ void Equalizer::Save() { } void Equalizer::closeEvent(QCloseEvent *e) { + + Q_UNUSED(e); + QString name = ui_->preset->currentText(); if (!presets_.contains(name)) return; if (presets_[name] == current_params()) return; SavePreset(); + } Equalizer::Params::Params() : preamp(0) { @@ -342,6 +346,7 @@ bool Equalizer::Params::operator !=(const Equalizer::Params& other) const { } void Equalizer::StereoSliderChanged(int value) { + Q_UNUSED(value); emit StereoBalanceChanged(stereo_balance()); Save(); } diff --git a/src/equalizer/equalizer.h b/src/equalizer/equalizer.h index 9159faeb0..acce66651 100644 --- a/src/equalizer/equalizer.h +++ b/src/equalizer/equalizer.h @@ -102,7 +102,7 @@ class Equalizer : public QDialog { QMap presets_; }; -Q_DECLARE_METATYPE(Equalizer::Params); +Q_DECLARE_METATYPE(Equalizer::Params) QDataStream &operator<<(QDataStream &s, const Equalizer::Params &p); QDataStream &operator>>(QDataStream &s, Equalizer::Params &p); diff --git a/src/internet/internetcollectionviewcontainer.cpp b/src/internet/internetcollectionviewcontainer.cpp index 38b6a57e0..c757a25d7 100644 --- a/src/internet/internetcollectionviewcontainer.cpp +++ b/src/internet/internetcollectionviewcontainer.cpp @@ -54,4 +54,4 @@ InternetCollectionViewContainer::InternetCollectionViewContainer(QWidget *parent InternetCollectionViewContainer::~InternetCollectionViewContainer() { delete ui_; } -void InternetCollectionViewContainer::contextMenuEvent(QContextMenuEvent *e) {} +void InternetCollectionViewContainer::contextMenuEvent(QContextMenuEvent *e) { Q_UNUSED(e); } diff --git a/src/internet/internetsearch.cpp b/src/internet/internetsearch.cpp index d099b05dc..b95dc39ef 100644 --- a/src/internet/internetsearch.cpp +++ b/src/internet/internetsearch.cpp @@ -221,6 +221,8 @@ int InternetSearch::LoadAlbumCoverAsync(const InternetSearch::Result &result) { void InternetSearch::AlbumCoverLoaded(const quint64 id, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!cover_loader_tasks_.contains(id)) return; int orig_id = cover_loader_tasks_.take(id); diff --git a/src/internet/internetsearchview.cpp b/src/internet/internetsearchview.cpp index 60efd5218..c1cb3fc38 100644 --- a/src/internet/internetsearchview.cpp +++ b/src/internet/internetsearchview.cpp @@ -575,14 +575,17 @@ void InternetSearchView::SetGroupBy(const CollectionModel::Grouping &g) { } void InternetSearchView::SearchArtistsClicked(bool checked) { + Q_UNUSED(checked); SetSearchType(InternetSearch::SearchType_Artists); } void InternetSearchView::SearchAlbumsClicked(bool checked) { + Q_UNUSED(checked); SetSearchType(InternetSearch::SearchType_Albums); } void InternetSearchView::SearchSongsClicked(bool checked) { + Q_UNUSED(checked); SetSearchType(InternetSearch::SearchType_Songs); } diff --git a/src/internet/internetservice.h b/src/internet/internetservice.h index f7928519d..b584726b1 100644 --- a/src/internet/internetservice.h +++ b/src/internet/internetservice.h @@ -49,9 +49,9 @@ class InternetService : public QObject { virtual void InitialLoadSettings() {} virtual void ReloadSettings() {} virtual QIcon Icon() { return Song::IconForSource(source_); } - virtual const bool oauth() { return false; } - virtual const bool authenticated() { return false; } - virtual int Search(const QString &query, InternetSearch::SearchType type) { return 0; } + virtual bool oauth() { return false; } + virtual bool authenticated() { return false; } + virtual int Search(const QString &query, InternetSearch::SearchType type) { Q_UNUSED(query); Q_UNUSED(type); return 0; } virtual void CancelSearch() {} virtual CollectionBackend *artists_collection_backend() { return nullptr; } @@ -133,6 +133,6 @@ class InternetService : public QObject { QString url_scheme_; }; -Q_DECLARE_METATYPE(InternetService*); +Q_DECLARE_METATYPE(InternetService*) #endif diff --git a/src/internet/internetsongsview.cpp b/src/internet/internetsongsview.cpp index 562878b9c..fa2c82b74 100644 --- a/src/internet/internetsongsview.cpp +++ b/src/internet/internetsongsview.cpp @@ -76,7 +76,7 @@ InternetSongsView::~InternetSongsView() { delete ui_; } void InternetSongsView::ReloadSettings() {} -void InternetSongsView::contextMenuEvent(QContextMenuEvent *e) {} +void InternetSongsView::contextMenuEvent(QContextMenuEvent *e) { Q_UNUSED(e); } void InternetSongsView::GetSongs() { diff --git a/src/internet/internetsongsview.h b/src/internet/internetsongsview.h index be95ffbed..07634be35 100644 --- a/src/internet/internetsongsview.h +++ b/src/internet/internetsongsview.h @@ -51,7 +51,7 @@ class InternetSongsView : public QWidget { private slots: void contextMenuEvent(QContextMenuEvent *e); void GetSongs(); - void AbortGetSongs();; + void AbortGetSongs(); void SongsFinished(const SongList &songs, const QString &error); private: diff --git a/src/internet/internettabsview.cpp b/src/internet/internettabsview.cpp index 81e22a09c..03a5385c8 100644 --- a/src/internet/internettabsview.cpp +++ b/src/internet/internettabsview.cpp @@ -177,8 +177,7 @@ InternetTabsView::~InternetTabsView() { void InternetTabsView::ReloadSettings() { ui_->search_view->ReloadSettings(); } -void InternetTabsView::contextMenuEvent(QContextMenuEvent *e) { -} +void InternetTabsView::contextMenuEvent(QContextMenuEvent *e) { Q_UNUSED(e); } void InternetTabsView::GetArtists() { diff --git a/src/internet/localredirectserver.cpp b/src/internet/localredirectserver.cpp index b13b5b9e2..7ed63cf60 100644 --- a/src/internet/localredirectserver.cpp +++ b/src/internet/localredirectserver.cpp @@ -298,7 +298,7 @@ void LocalRedirectServer::incomingConnection(qintptr socket_descriptor) { } -void LocalRedirectServer::SSLErrors(const QList &errors) {} +void LocalRedirectServer::SSLErrors(const QList &errors) { Q_UNUSED(errors); } void LocalRedirectServer::Encrypted() {} diff --git a/src/lyrics/auddlyricsprovider.cpp b/src/lyrics/auddlyricsprovider.cpp index 02674c167..63223e1a5 100644 --- a/src/lyrics/auddlyricsprovider.cpp +++ b/src/lyrics/auddlyricsprovider.cpp @@ -48,6 +48,8 @@ AuddLyricsProvider::AuddLyricsProvider(QObject *parent) : JsonLyricsProvider("Au bool AuddLyricsProvider::StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id) { + Q_UNUSED(album); + const ParamList params = ParamList() << Param("api_token", QByteArray::fromBase64(kAPITokenB64)) << Param("q", QString(artist + " " + title)); @@ -71,7 +73,7 @@ bool AuddLyricsProvider::StartSearch(const QString &artist, const QString &album } -void AuddLyricsProvider::CancelSearch(quint64 id) {} +void AuddLyricsProvider::CancelSearch(const quint64 id) { Q_UNUSED(id); } void AuddLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title) { @@ -164,7 +166,7 @@ QJsonArray AuddLyricsProvider::ExtractResult(QNetworkReply *reply, const quint64 } -void AuddLyricsProvider::Error(const quint64 id, const QString &error, QVariant debug) { +void AuddLyricsProvider::Error(const quint64 id, const QString &error, const QVariant &debug) { qLog(Error) << "AudDLyrics:" << error; if (debug.isValid()) qLog(Debug) << debug; emit SearchFinished(id, LyricsSearchResults()); diff --git a/src/lyrics/auddlyricsprovider.h b/src/lyrics/auddlyricsprovider.h index 1f8944bbb..a3bad0ef8 100644 --- a/src/lyrics/auddlyricsprovider.h +++ b/src/lyrics/auddlyricsprovider.h @@ -40,7 +40,7 @@ class AuddLyricsProvider : public JsonLyricsProvider { explicit AuddLyricsProvider(QObject *parent = nullptr); bool StartSearch(const QString &artist, const QString &album, const QString &title, quint64 id); - void CancelSearch(quint64 id); + void CancelSearch(const quint64 id); private slots: void HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title); @@ -50,7 +50,7 @@ class AuddLyricsProvider : public JsonLyricsProvider { static const char *kAPITokenB64; static const int kMaxLength; QNetworkAccessManager *network_; - void Error(const quint64 id, const QString &error, QVariant debug = QVariant()); + void Error(const quint64 id, const QString &error, const QVariant &debug = QVariant()); QJsonArray ExtractResult(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title); diff --git a/src/lyrics/jsonlyricsprovider.h b/src/lyrics/jsonlyricsprovider.h index b7678e3d5..173ab07c6 100644 --- a/src/lyrics/jsonlyricsprovider.h +++ b/src/lyrics/jsonlyricsprovider.h @@ -38,7 +38,7 @@ class JsonLyricsProvider : public LyricsProvider { QJsonObject ExtractJsonObj(QNetworkReply *reply, const quint64 id); private: - virtual void Error(const quint64 id, const QString &error, QVariant debug = QVariant()) = 0; + virtual void Error(const quint64 id, const QString &error, const QVariant &debug = QVariant()) = 0; }; diff --git a/src/lyrics/lololyricsprovider.cpp b/src/lyrics/lololyricsprovider.cpp index 302c8d7e2..d95e5a55c 100644 --- a/src/lyrics/lololyricsprovider.cpp +++ b/src/lyrics/lololyricsprovider.cpp @@ -43,6 +43,8 @@ LoloLyricsProvider::LoloLyricsProvider(QObject *parent) : LyricsProvider("LoloLy bool LoloLyricsProvider::StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id) { + Q_UNUSED(album); + const ParamList params = ParamList() << Param("artist", artist) << Param("track", title); @@ -66,7 +68,7 @@ bool LoloLyricsProvider::StartSearch(const QString &artist, const QString &album } -void LoloLyricsProvider::CancelSearch(const quint64 id) {} +void LoloLyricsProvider::CancelSearch(const quint64 id) { Q_UNUSED(id); } void LoloLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title) { @@ -132,7 +134,7 @@ void LoloLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 i } -void LoloLyricsProvider::Error(const quint64 id, const QString &error, QVariant debug) { +void LoloLyricsProvider::Error(const quint64 id, const QString &error, const QVariant &debug) { qLog(Error) << "LoloLyrics:" << error; if (debug.isValid()) qLog(Debug) << debug; diff --git a/src/lyrics/lololyricsprovider.h b/src/lyrics/lololyricsprovider.h index ca197d525..c10446239 100644 --- a/src/lyrics/lololyricsprovider.h +++ b/src/lyrics/lololyricsprovider.h @@ -41,7 +41,7 @@ class LoloLyricsProvider : public LyricsProvider { explicit LoloLyricsProvider(QObject *parent = nullptr); bool StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id); - void CancelSearch(quint64 id); + void CancelSearch(const quint64 id); private slots: void HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title); @@ -49,7 +49,7 @@ class LoloLyricsProvider : public LyricsProvider { private: static const char *kUrlSearch; QNetworkAccessManager *network_; - void Error(const quint64 id, const QString &error, QVariant debug = QVariant()); + void Error(const quint64 id, const QString &error, const QVariant &debug = QVariant()); }; diff --git a/src/lyrics/lyricsfetcher.h b/src/lyrics/lyricsfetcher.h index 6fa00cc16..4fe73d760 100644 --- a/src/lyrics/lyricsfetcher.h +++ b/src/lyrics/lyricsfetcher.h @@ -53,10 +53,10 @@ struct LyricsSearchResult { QString lyrics; float score; }; -Q_DECLARE_METATYPE(LyricsSearchResult); +Q_DECLARE_METATYPE(LyricsSearchResult) typedef QList LyricsSearchResults; -Q_DECLARE_METATYPE(QList); +Q_DECLARE_METATYPE(QList) class LyricsFetcher : public QObject { Q_OBJECT diff --git a/src/lyrics/lyricsprovider.h b/src/lyrics/lyricsprovider.h index 3fc87c86e..2157985f4 100644 --- a/src/lyrics/lyricsprovider.h +++ b/src/lyrics/lyricsprovider.h @@ -42,7 +42,7 @@ class LyricsProvider : public QObject { QString name() const { return name_; } virtual bool StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id) = 0; - virtual void CancelSearch(const quint64 id) {} + virtual void CancelSearch(const quint64 id) { Q_UNUSED(id); } signals: void SearchFinished(const quint64 id, const LyricsSearchResults &results); diff --git a/src/lyrics/lyricsproviders.h b/src/lyrics/lyricsproviders.h index 7db188137..ab8071c27 100644 --- a/src/lyrics/lyricsproviders.h +++ b/src/lyrics/lyricsproviders.h @@ -51,7 +51,7 @@ class LyricsProviders : public QObject { void ProviderDestroyed(); private: - Q_DISABLE_COPY(LyricsProviders); + Q_DISABLE_COPY(LyricsProviders) QMap lyrics_providers_; QMutex mutex_; diff --git a/src/lyrics/ovhlyricsprovider.cpp b/src/lyrics/ovhlyricsprovider.cpp index 3f67b45d6..58d3f0a4a 100644 --- a/src/lyrics/ovhlyricsprovider.cpp +++ b/src/lyrics/ovhlyricsprovider.cpp @@ -45,6 +45,8 @@ OVHLyricsProvider::OVHLyricsProvider(QObject *parent) : JsonLyricsProvider("Lyri bool OVHLyricsProvider::StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id) { + Q_UNUSED(album); + QUrl url(kUrlSearch + QString(QUrl::toPercentEncoding(artist)) + "/" + QString(QUrl::toPercentEncoding(title))); QNetworkRequest req(url); #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) @@ -59,7 +61,7 @@ bool OVHLyricsProvider::StartSearch(const QString &artist, const QString &album, } -void OVHLyricsProvider::CancelSearch(quint64 id) {} +void OVHLyricsProvider::CancelSearch(const quint64 id) { Q_UNUSED(id); } void OVHLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title) { @@ -91,7 +93,7 @@ void OVHLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 id } -void OVHLyricsProvider::Error(const quint64 id, const QString &error, QVariant debug) { +void OVHLyricsProvider::Error(const quint64 id, const QString &error, const QVariant &debug) { qLog(Error) << "OVHLyrics:" << error; if (debug.isValid()) qLog(Debug) << debug; diff --git a/src/lyrics/ovhlyricsprovider.h b/src/lyrics/ovhlyricsprovider.h index b03bb2319..1bc87d9af 100644 --- a/src/lyrics/ovhlyricsprovider.h +++ b/src/lyrics/ovhlyricsprovider.h @@ -41,8 +41,8 @@ class OVHLyricsProvider : public JsonLyricsProvider { public: explicit OVHLyricsProvider(QObject *parent = nullptr); - bool StartSearch(const QString &artist, const QString &album, const QString &title, quint64 id); - void CancelSearch(quint64 id); + bool StartSearch(const QString &artist, const QString &album, const QString &title, const quint64 id); + void CancelSearch(const quint64 id); private slots: void HandleSearchReply(QNetworkReply *reply, const quint64 id, const QString &artist, const QString &title); @@ -50,7 +50,7 @@ class OVHLyricsProvider : public JsonLyricsProvider { private: static const char *kUrlSearch; QNetworkAccessManager *network_; - void Error(const quint64 id, const QString &error, QVariant debug = QVariant()); + void Error(const quint64 id, const QString &error, const QVariant &debug = QVariant()); }; diff --git a/src/moodbar/moodbarproxystyle.cpp b/src/moodbar/moodbarproxystyle.cpp index e2e605903..9712985be 100644 --- a/src/moodbar/moodbarproxystyle.cpp +++ b/src/moodbar/moodbarproxystyle.cpp @@ -148,7 +148,10 @@ void MoodbarProxyStyle::NextState() { } -void MoodbarProxyStyle::FaderValueChanged(qreal value) { slider_->update(); } +void MoodbarProxyStyle::FaderValueChanged(qreal value) { + Q_UNUSED(value); + slider_->update(); +} bool MoodbarProxyStyle::eventFilter(QObject* object, QEvent* event) { @@ -324,6 +327,8 @@ void MoodbarProxyStyle::DrawArrow(const QStyleOptionSlider* option, QPainter* pa QPixmap MoodbarProxyStyle::MoodbarPixmap(const ColorVector& colors, const QSize& size, const QPalette& palette, const QStyleOptionSlider* opt) { + Q_UNUSED(opt); + QRect rect(QPoint(0, 0), size); QRect border_rect(rect); border_rect.adjust(kMarginSize, kMarginSize, -kMarginSize, -kMarginSize); diff --git a/src/organise/organise.cpp b/src/organise/organise.cpp index cbc13714a..ae452dcfd 100644 --- a/src/organise/organise.cpp +++ b/src/organise/organise.cpp @@ -333,6 +333,8 @@ void Organise::UpdateProgress() { #ifdef HAVE_GSTREAMER void Organise::FileTranscoded(const QString &input, const QString &output, bool success) { + Q_UNUSED(output); + qLog(Info) << "File finished" << input << success; transcode_progress_timer_.stop(); diff --git a/src/playlist/playlist.cpp b/src/playlist/playlist.cpp index e59f6c8cf..a353e1d31 100644 --- a/src/playlist/playlist.cpp +++ b/src/playlist/playlist.cpp @@ -373,6 +373,8 @@ void Playlist::MoodbarUpdated(const QModelIndex& index) { bool Playlist::setData(const QModelIndex &index, const QVariant &value, int role) { + Q_UNUSED(role); + int row = index.row(); PlaylistItemPtr item = item_at(row); Song song = item->Metadata(); diff --git a/src/playlist/playlist.h b/src/playlist/playlist.h index e794d4918..ddd46ecb5 100644 --- a/src/playlist/playlist.h +++ b/src/playlist/playlist.h @@ -66,8 +66,8 @@ class SortItems; } typedef QMap ColumnAlignmentMap; -Q_DECLARE_METATYPE(Qt::Alignment); -Q_DECLARE_METATYPE(ColumnAlignmentMap); +Q_DECLARE_METATYPE(Qt::Alignment) +Q_DECLARE_METATYPE(ColumnAlignmentMap) // Objects that may prevent a song being added to the playlist. // When there is something about to be inserted into it, @@ -198,7 +198,7 @@ class Playlist : public QAbstractListModel { void set_special_type(const QString &v) { special_type_ = v; } const PlaylistItemPtr &item_at(int index) const { return items_[index]; } - const bool has_item_at(int index) const { return index >= 0 && index < rowCount(); } + bool has_item_at(int index) const { return index >= 0 && index < rowCount(); } PlaylistItemPtr current_item() const; diff --git a/src/playlist/playlistdelegates.cpp b/src/playlist/playlistdelegates.cpp index 612085ea9..b31fdf067 100644 --- a/src/playlist/playlistdelegates.cpp +++ b/src/playlist/playlistdelegates.cpp @@ -319,6 +319,8 @@ QString SizeItemDelegate::displayText(const QVariant &value, const QLocale&) con QString DateItemDelegate::displayText(const QVariant &value, const QLocale &locale) const { + Q_UNUSED(locale); + bool ok = false; int time = value.toInt(&ok); @@ -343,6 +345,8 @@ QString LastPlayedItemDelegate::displayText(const QVariant &value, const QLocale QString FileTypeItemDelegate::displayText(const QVariant &value, const QLocale &locale) const { + Q_UNUSED(locale); + bool ok = false; Song::FileType type = Song::FileType(value.toInt(&ok)); @@ -352,7 +356,9 @@ QString FileTypeItemDelegate::displayText(const QVariant &value, const QLocale & } -QWidget *TextItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { +QWidget *TextItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &idx) const { + Q_UNUSED(option); + Q_UNUSED(idx); return new QLineEdit(parent); } @@ -446,6 +452,7 @@ QString NativeSeparatorsDelegate::displayText(const QVariant &value, const QLoca SongSourceDelegate::SongSourceDelegate(QObject *parent) : PlaylistDelegateBase(parent) {} QString SongSourceDelegate::displayText(const QVariant &value, const QLocale&) const { + Q_UNUSED(value); return QString(); } diff --git a/src/playlist/playlistfilterparser.h b/src/playlist/playlistfilterparser.h index 463255078..1d352f85c 100644 --- a/src/playlist/playlistfilterparser.h +++ b/src/playlist/playlistfilterparser.h @@ -51,7 +51,7 @@ class FilterTree { // trivial filter that accepts *anything* class NopFilter : public FilterTree { public: - virtual bool accept(int row, const QModelIndex &parent, const QAbstractItemModel *const model) const { return true; } + virtual bool accept(int row, const QModelIndex &parent, const QAbstractItemModel *const model) const { Q_UNUSED(row); Q_UNUSED(parent); Q_UNUSED(model); return true; } virtual FilterType type() { return Nop; } }; diff --git a/src/playlist/playlistitem.h b/src/playlist/playlistitem.h index 41345da46..9cafda690 100644 --- a/src/playlist/playlistitem.h +++ b/src/playlist/playlistitem.h @@ -62,7 +62,7 @@ class PlaylistItem : public std::enable_shared_from_this { // Disables the seek slider. SeekDisabled = 0x04, }; - Q_DECLARE_FLAGS(Options, Option); + Q_DECLARE_FLAGS(Options, Option) virtual Song::Source source() const { return source_; } diff --git a/src/playlist/playlistmanager.h b/src/playlist/playlistmanager.h index 6e9d944e4..50e9d54ed 100644 --- a/src/playlist/playlistmanager.h +++ b/src/playlist/playlistmanager.h @@ -47,7 +47,7 @@ class PlaylistManagerInterface : public QObject { Q_OBJECT public: - PlaylistManagerInterface(Application *app, QObject *parent) : QObject(parent) {} + PlaylistManagerInterface(Application *app, QObject *parent) : QObject(parent) { Q_UNUSED(app); } virtual int current_id() const = 0; virtual int active_id() const = 0; diff --git a/src/playlist/playlistundocommands.cpp b/src/playlist/playlistundocommands.cpp index 5a9dbcd36..1623343ed 100644 --- a/src/playlist/playlistundocommands.cpp +++ b/src/playlist/playlistundocommands.cpp @@ -119,11 +119,13 @@ void ReOrderItems::undo() { playlist_->ReOrderWithoutUndo(old_items_); } void ReOrderItems::redo() { playlist_->ReOrderWithoutUndo(new_items_); } SortItems::SortItems(Playlist* playlist, int column, Qt::SortOrder order, const PlaylistItemList &new_items) - : ReOrderItems(playlist, new_items) - //column_(column), - //order_(order) -{ + : ReOrderItems(playlist, new_items) { + + Q_UNUSED(column); + Q_UNUSED(order); + setText(tr("sort songs")); + } diff --git a/src/playlist/playlistundocommands.h b/src/playlist/playlistundocommands.h index 28c7b70ef..aeb4b83f3 100644 --- a/src/playlist/playlistundocommands.h +++ b/src/playlist/playlistundocommands.h @@ -40,7 +40,7 @@ namespace PlaylistUndoCommands { }; class Base : public QUndoCommand { - Q_DECLARE_TR_FUNCTIONS(PlaylistUndoCommands); + Q_DECLARE_TR_FUNCTIONS(PlaylistUndoCommands) public: Base(Playlist *playlist); @@ -116,9 +116,6 @@ namespace PlaylistUndoCommands { public: SortItems(Playlist *playlist, int column, Qt::SortOrder order, const PlaylistItemList &new_items); - private: - //int column_; - //Qt::SortOrder order_; }; class ShuffleItems : public ReOrderItems { diff --git a/src/playlist/playlistview.cpp b/src/playlist/playlistview.cpp index 202789627..a3bde7ed6 100644 --- a/src/playlist/playlistview.cpp +++ b/src/playlist/playlistview.cpp @@ -1243,6 +1243,8 @@ void PlaylistView::Stopped() { void PlaylistView::AlbumCoverLoaded(const Song &song, const QUrl &cover_url, const QImage &song_art) { + Q_UNUSED(cover_url); + if ((song != Song() && song_playing_ == Song()) || song_art == current_song_cover_art_) return; current_song_cover_art_ = song_art; diff --git a/src/playlistparsers/asxiniparser.cpp b/src/playlistparsers/asxiniparser.cpp index 2ceca289d..e2f676cb7 100644 --- a/src/playlistparsers/asxiniparser.cpp +++ b/src/playlistparsers/asxiniparser.cpp @@ -39,6 +39,8 @@ bool AsxIniParser::TryMagic(const QByteArray &data) const { SongList AsxIniParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + Q_UNUSED(playlist_path); + SongList ret; while (!device->atEnd()) { diff --git a/src/playlistparsers/asxparser.cpp b/src/playlistparsers/asxparser.cpp index e2409964e..c657fb11e 100644 --- a/src/playlistparsers/asxparser.cpp +++ b/src/playlistparsers/asxparser.cpp @@ -41,6 +41,8 @@ ASXParser::ASXParser(CollectionBackendInterface *collection, QObject *parent) SongList ASXParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + Q_UNUSED(playlist_path); + // We have to load everything first so we can munge the "XML". QByteArray data = device->readAll(); @@ -129,7 +131,7 @@ return_song: } -void ASXParser::Save(const SongList &songs, QIODevice *device, const QDir&, Playlist::Path path_type) const { +void ASXParser::Save(const SongList &songs, QIODevice *device, const QDir&, Playlist::Path) const { QXmlStreamWriter writer(device); writer.setAutoFormatting(true); diff --git a/src/playlistparsers/cueparser.cpp b/src/playlistparsers/cueparser.cpp index 06ba196ff..97d4b5326 100644 --- a/src/playlistparsers/cueparser.cpp +++ b/src/playlistparsers/cueparser.cpp @@ -352,7 +352,14 @@ qint64 CueParser::IndexToMarker(const QString &index) const { } void CueParser::Save(const SongList &songs, QIODevice *device, const QDir &dir, Playlist::Path path_type) const { + + Q_UNUSED(songs); + Q_UNUSED(device); + Q_UNUSED(dir); + Q_UNUSED(path_type); + // TODO + } // Looks for a track starting with one of the .cue's keywords. diff --git a/src/playlistparsers/m3uparser.cpp b/src/playlistparsers/m3uparser.cpp index 5efecf900..e67146f73 100644 --- a/src/playlistparsers/m3uparser.cpp +++ b/src/playlistparsers/m3uparser.cpp @@ -44,6 +44,8 @@ M3UParser::M3UParser(CollectionBackendInterface *collection, QObject *parent) SongList M3UParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + Q_UNUSED(playlist_path); + SongList ret; M3UType type = STANDARD; diff --git a/src/playlistparsers/plsparser.cpp b/src/playlistparsers/plsparser.cpp index 0ec551273..34fe2f710 100644 --- a/src/playlistparsers/plsparser.cpp +++ b/src/playlistparsers/plsparser.cpp @@ -39,6 +39,8 @@ PLSParser::PLSParser(CollectionBackendInterface *collection, QObject *parent) SongList PLSParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + Q_UNUSED(playlist_path); + QMap songs; QRegExp n_re("\\d+$"); diff --git a/src/playlistparsers/wplparser.cpp b/src/playlistparsers/wplparser.cpp index 20996acdf..fd5af4568 100644 --- a/src/playlistparsers/wplparser.cpp +++ b/src/playlistparsers/wplparser.cpp @@ -42,6 +42,8 @@ bool WplParser::TryMagic(const QByteArray &data) const { SongList WplParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + Q_UNUSED(playlist_path); + SongList ret; QXmlStreamReader reader(device); diff --git a/src/playlistparsers/xmlparser.h b/src/playlistparsers/xmlparser.h index cfcca4f70..06e070811 100644 --- a/src/playlistparsers/xmlparser.h +++ b/src/playlistparsers/xmlparser.h @@ -46,7 +46,7 @@ class XMLParser : public ParserBase { private: QXmlStreamWriter *stream_; - Q_DISABLE_COPY(StreamElement); + Q_DISABLE_COPY(StreamElement) }; }; diff --git a/src/playlistparsers/xspfparser.cpp b/src/playlistparsers/xspfparser.cpp index 5b84fcaae..22b46c8b0 100644 --- a/src/playlistparsers/xspfparser.cpp +++ b/src/playlistparsers/xspfparser.cpp @@ -43,6 +43,9 @@ XSPFParser::XSPFParser(CollectionBackendInterface *collection, QObject *parent) : XMLParser(collection, parent) {} SongList XSPFParser::Load(QIODevice *device, const QString &playlist_path, const QDir &dir) const { + + Q_UNUSED(playlist_path); + SongList ret; QXmlStreamReader reader(device); diff --git a/src/qobuz/qobuzrequest.h b/src/qobuz/qobuzrequest.h index d78f84bf0..a1589a8ed 100644 --- a/src/qobuz/qobuzrequest.h +++ b/src/qobuz/qobuzrequest.h @@ -102,8 +102,8 @@ class QobuzRequest : public QobuzBaseRequest { QString filename; }; - const bool IsQuery() { return (type_ == QueryType_Artists || type_ == QueryType_Albums || type_ == QueryType_Songs); } - const bool IsSearch() { return (type_ == QueryType_SearchArtists || type_ == QueryType_SearchAlbums || type_ == QueryType_SearchSongs); } + bool IsQuery() { return (type_ == QueryType_Artists || type_ == QueryType_Albums || type_ == QueryType_Songs); } + bool IsSearch() { return (type_ == QueryType_SearchArtists || type_ == QueryType_SearchAlbums || type_ == QueryType_SearchSongs); } void GetArtists(); void GetAlbums(); diff --git a/src/qobuz/qobuzservice.cpp b/src/qobuz/qobuzservice.cpp index 152688b04..bcf7cccf7 100644 --- a/src/qobuz/qobuzservice.cpp +++ b/src/qobuz/qobuzservice.cpp @@ -456,18 +456,22 @@ void QobuzService::GetArtists() { } void QobuzService::ArtistsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit ArtistsResults(songs, error); } void QobuzService::ArtistsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit ArtistsUpdateStatus(text); } void QobuzService::ArtistsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit ArtistsProgressSetMaximum(max); } void QobuzService::ArtistsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit ArtistsUpdateProgress(progress); } @@ -505,18 +509,22 @@ void QobuzService::GetAlbums() { } void QobuzService::AlbumsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit AlbumsResults(songs, error); } void QobuzService::AlbumsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit AlbumsUpdateStatus(text); } void QobuzService::AlbumsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit AlbumsProgressSetMaximum(max); } void QobuzService::AlbumsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit AlbumsUpdateProgress(progress); } @@ -554,18 +562,22 @@ void QobuzService::GetSongs() { } void QobuzService::SongsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit SongsResults(songs, error); } void QobuzService::SongsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit SongsUpdateStatus(text); } void QobuzService::SongsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit SongsProgressSetMaximum(max); } void QobuzService::SongsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit SongsUpdateProgress(progress); } diff --git a/src/qobuz/qobuzservice.h b/src/qobuz/qobuzservice.h index 78ea9bc5d..5ed2264d7 100644 --- a/src/qobuz/qobuzservice.h +++ b/src/qobuz/qobuzservice.h @@ -68,7 +68,7 @@ class QobuzService : public InternetService { int Search(const QString &query, InternetSearch::SearchType type); void CancelSearch(); - const int max_login_attempts() { return kLoginAttempts; } + int max_login_attempts() { return kLoginAttempts; } Application *app() { return app_; } QString app_id() { return app_id_; } @@ -84,9 +84,9 @@ class QobuzService : public InternetService { QString user_auth_token() { return user_auth_token_; } - const bool authenticated() { return (!app_id_.isEmpty() && !app_secret_.isEmpty() && !user_auth_token_.isEmpty()); } - const bool login_sent() { return login_sent_; } - const bool login_attempts() { return login_attempts_; } + bool authenticated() { return (!app_id_.isEmpty() && !app_secret_.isEmpty() && !user_auth_token_.isEmpty()); } + bool login_sent() { return login_sent_; } + bool login_attempts() { return login_attempts_; } void GetStreamURL(const QUrl &url); diff --git a/src/qobuz/qobuzstreamurlrequest.cpp b/src/qobuz/qobuzstreamurlrequest.cpp index ef760a1bb..4494588ec 100644 --- a/src/qobuz/qobuzstreamurlrequest.cpp +++ b/src/qobuz/qobuzstreamurlrequest.cpp @@ -61,13 +61,13 @@ QobuzStreamURLRequest::~QobuzStreamURLRequest() { } -void QobuzStreamURLRequest::LoginComplete(bool success, QString error) { +void QobuzStreamURLRequest::LoginComplete(const bool success, const QString &error) { if (!need_login_) return; need_login_ = false; if (!success) { - emit StreamURLFinished(original_url_, original_url_, Song::FileType_Stream, -1, -1, -1, errors_.first()); + emit StreamURLFinished(original_url_, original_url_, Song::FileType_Stream, -1, -1, -1, error); return; } diff --git a/src/qobuz/qobuzstreamurlrequest.h b/src/qobuz/qobuzstreamurlrequest.h index 1258a645f..e39225bf4 100644 --- a/src/qobuz/qobuzstreamurlrequest.h +++ b/src/qobuz/qobuzstreamurlrequest.h @@ -55,7 +55,7 @@ class QobuzStreamURLRequest : public QobuzBaseRequest { void StreamURLFinished(const QUrl &original_url, const QUrl &stream_url, const Song::FileType filetype, const int samplerate, const int bit_depth, const qint64 duration, QString error = QString()); private slots: - void LoginComplete(bool success, QString error = QString()); + void LoginComplete(const bool success, const QString &error = QString()); void StreamURLReceived(); private: diff --git a/src/queue/queue.cpp b/src/queue/queue.cpp index 439af120d..2822fbb7a 100644 --- a/src/queue/queue.cpp +++ b/src/queue/queue.cpp @@ -128,10 +128,12 @@ void Queue::SourceLayoutChanged() { } QModelIndex Queue::index(int row, int column, const QModelIndex &parent) const { + Q_UNUSED(parent); return createIndex(row, column); } QModelIndex Queue::parent(const QModelIndex &child) const { + Q_UNUSED(child); return QModelIndex(); } @@ -428,6 +430,9 @@ int Queue::TakeNext() { } QVariant Queue::headerData(int section, Qt::Orientation orientation, int role) const { + Q_UNUSED(section); + Q_UNUSED(orientation); + Q_UNUSED(role); return QVariant(); } diff --git a/src/scrobbler/scrobblerservice.cpp b/src/scrobbler/scrobblerservice.cpp index 6a6a82ef6..937b52c35 100644 --- a/src/scrobbler/scrobblerservice.cpp +++ b/src/scrobbler/scrobblerservice.cpp @@ -28,7 +28,7 @@ #include "scrobblerservice.h" -ScrobblerService::ScrobblerService(const QString &name, Application *app, QObject *parent) : QObject(parent), name_(name) {} +ScrobblerService::ScrobblerService(const QString &name, Application *app, QObject *parent) : QObject(parent), name_(name) { Q_UNUSED(app); } QJsonObject ScrobblerService::ExtractJsonObj(const QByteArray &data, const bool ignore_empty) { diff --git a/src/scrobbler/scrobblerservices.h b/src/scrobbler/scrobblerservices.h index b70c155be..66040a320 100644 --- a/src/scrobbler/scrobblerservices.h +++ b/src/scrobbler/scrobblerservices.h @@ -54,7 +54,7 @@ class ScrobblerServices : public QObject { } private: - Q_DISABLE_COPY(ScrobblerServices); + Q_DISABLE_COPY(ScrobblerServices) QMap scrobbler_services_; QMutex mutex_; diff --git a/src/settings/appearancesettingspage.cpp b/src/settings/appearancesettingspage.cpp index 21b4a304c..5f04768e8 100644 --- a/src/settings/appearancesettingspage.cpp +++ b/src/settings/appearancesettingspage.cpp @@ -322,7 +322,7 @@ void AppearanceSettingsPage::BlurLevelChanged(int value) { } void AppearanceSettingsPage::OpacityLevelChanged(int percent) { - ui_->background_opacity_label->setText(QString("%1\%").arg(percent)); + ui_->background_opacity_label->setText(QString("%1%").arg(percent)); } void AppearanceSettingsPage::TabBarSystemColor(bool checked) { diff --git a/src/settings/backendsettingspage.cpp b/src/settings/backendsettingspage.cpp index 338c091bf..5f560ebdd 100644 --- a/src/settings/backendsettingspage.cpp +++ b/src/settings/backendsettingspage.cpp @@ -559,6 +559,8 @@ void BackendSettingsPage::SwitchALSADevices(alsa_plugin alsaplugin) { void BackendSettingsPage::radiobutton_alsa_hw_clicked(bool checked) { + Q_UNUSED(checked); + if (!configloaded_ || !EngineInitialised()) return; EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value(); @@ -584,6 +586,8 @@ void BackendSettingsPage::radiobutton_alsa_hw_clicked(bool checked) { void BackendSettingsPage::radiobutton_alsa_plughw_clicked(bool checked) { + Q_UNUSED(checked); + if (!configloaded_ || !EngineInitialised()) return; EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value(); diff --git a/src/subsonic/subsonicrequest.cpp b/src/subsonic/subsonicrequest.cpp index c26532d90..188a1f8ce 100644 --- a/src/subsonic/subsonicrequest.cpp +++ b/src/subsonic/subsonicrequest.cpp @@ -480,6 +480,9 @@ void SubsonicRequest::SongsFinishCheck() { int SubsonicRequest::ParseSong(Song &song, const QJsonObject &json_obj, const qint64 artist_id_requested, const qint64 album_id_requested, const QString &album_artist) { + Q_UNUSED(artist_id_requested); + Q_UNUSED(album_id_requested); + if ( !json_obj.contains("id") || !json_obj.contains("title") || diff --git a/src/subsonic/subsonicservice.cpp b/src/subsonic/subsonicservice.cpp index a22ac3417..0713638f1 100644 --- a/src/subsonic/subsonicservice.cpp +++ b/src/subsonic/subsonicservice.cpp @@ -193,6 +193,8 @@ void SubsonicService::HandlePingSSLErrors(QList ssl_errors) { void SubsonicService::HandlePingReply(QNetworkReply *reply, const QUrl &url, const QString &username, const QString &password) { + Q_UNUSED(url); + reply->deleteLater(); if (reply->error() != QNetworkReply::NoError || reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() != 200) { diff --git a/src/subsonic/subsonicurlhandler.cpp b/src/subsonic/subsonicurlhandler.cpp index 5e756cdda..06bc17fb8 100644 --- a/src/subsonic/subsonicurlhandler.cpp +++ b/src/subsonic/subsonicurlhandler.cpp @@ -27,7 +27,9 @@ class Application; -SubsonicUrlHandler::SubsonicUrlHandler(Application *app, SubsonicService *service) : UrlHandler(service), service_(service) {} +SubsonicUrlHandler::SubsonicUrlHandler(Application *app, SubsonicService *service) : UrlHandler(service), service_(service) { + Q_UNUSED(app); +} UrlHandler::LoadResult SubsonicUrlHandler::StartLoading(const QUrl &url) { diff --git a/src/subsonic/subsonicurlhandler.h b/src/subsonic/subsonicurlhandler.h index 2842d2770..e95268ba8 100644 --- a/src/subsonic/subsonicurlhandler.h +++ b/src/subsonic/subsonicurlhandler.h @@ -54,8 +54,6 @@ class SubsonicUrlHandler : public UrlHandler { typedef QPair EncodedParam; typedef QList EncodedParamList; - void Error(const QString &error, const QVariant &debug) {} - SubsonicService *service_; }; diff --git a/src/tidal/tidalbaserequest.h b/src/tidal/tidalbaserequest.h index 5944a8703..ade3c8a1e 100644 --- a/src/tidal/tidalbaserequest.h +++ b/src/tidal/tidalbaserequest.h @@ -81,7 +81,7 @@ class TidalBaseRequest : public QObject { QString ErrorsToHTML(const QStringList &errors); QString api_url() { return QString(kApiUrl); } - const bool oauth() { return service_->oauth(); } + bool oauth() { return service_->oauth(); } QString client_id() { return service_->client_id(); } QString api_token() { return service_->api_token(); } quint64 user_id() { return service_->user_id(); } diff --git a/src/tidal/tidalrequest.cpp b/src/tidal/tidalrequest.cpp index fa4a541ed..342a8ecbd 100644 --- a/src/tidal/tidalrequest.cpp +++ b/src/tidal/tidalrequest.cpp @@ -908,6 +908,8 @@ void TidalRequest::SongsFinishCheck(const qint64 artist_id, const qint64 album_i int TidalRequest::ParseSong(Song &song, const QJsonObject &json_obj, const qint64 artist_id_requested, const qint64 album_id_requested, const QString &album_artist) { + Q_UNUSED(artist_id_requested); + if ( !json_obj.contains("album") || !json_obj.contains("allowStreaming") || diff --git a/src/tidal/tidalrequest.h b/src/tidal/tidalrequest.h index 2a1f3c644..5f65beb0c 100644 --- a/src/tidal/tidalrequest.h +++ b/src/tidal/tidalrequest.h @@ -104,8 +104,8 @@ class TidalRequest : public TidalBaseRequest { QString filename; }; - const bool IsQuery() { return (type_ == QueryType_Artists || type_ == QueryType_Albums || type_ == QueryType_Songs); } - const bool IsSearch() { return (type_ == QueryType_SearchArtists || type_ == QueryType_SearchAlbums || type_ == QueryType_SearchSongs); } + bool IsQuery() { return (type_ == QueryType_Artists || type_ == QueryType_Albums || type_ == QueryType_Songs); } + bool IsSearch() { return (type_ == QueryType_SearchArtists || type_ == QueryType_SearchAlbums || type_ == QueryType_SearchSongs); } void GetArtists(); void GetAlbums(); diff --git a/src/tidal/tidalservice.cpp b/src/tidal/tidalservice.cpp index 85e5c4d93..95b38484d 100644 --- a/src/tidal/tidalservice.cpp +++ b/src/tidal/tidalservice.cpp @@ -700,18 +700,22 @@ void TidalService::GetArtists() { } void TidalService::ArtistsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit ArtistsResults(songs, error); } void TidalService::ArtistsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit ArtistsUpdateStatus(text); } void TidalService::ArtistsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit ArtistsProgressSetMaximum(max); } void TidalService::ArtistsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit ArtistsUpdateProgress(progress); } @@ -753,18 +757,22 @@ void TidalService::GetAlbums() { } void TidalService::AlbumsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit AlbumsResults(songs, error); } void TidalService::AlbumsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit AlbumsUpdateStatus(text); } void TidalService::AlbumsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit AlbumsProgressSetMaximum(max); } void TidalService::AlbumsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit AlbumsUpdateProgress(progress); } @@ -806,18 +814,22 @@ void TidalService::GetSongs() { } void TidalService::SongsResultsReceived(const int id, const SongList &songs, const QString &error) { + Q_UNUSED(id); emit SongsResults(songs, error); } void TidalService::SongsUpdateStatusReceived(const int id, const QString &text) { + Q_UNUSED(id); emit SongsUpdateStatus(text); } void TidalService::SongsProgressSetMaximumReceived(const int id, const int max) { + Q_UNUSED(id); emit SongsProgressSetMaximum(max); } void TidalService::SongsUpdateProgressReceived(const int id, const int progress) { + Q_UNUSED(id); emit SongsUpdateProgress(progress); } diff --git a/src/tidal/tidalservice.h b/src/tidal/tidalservice.h index 3e6962351..bf75d35db 100644 --- a/src/tidal/tidalservice.h +++ b/src/tidal/tidalservice.h @@ -68,11 +68,11 @@ class TidalService : public InternetService { int Search(const QString &query, InternetSearch::SearchType type); void CancelSearch(); - const int max_login_attempts() { return kLoginAttempts; } + int max_login_attempts() { return kLoginAttempts; } Application *app() { return app_; } - const bool oauth() { return oauth_; } + bool oauth() { return oauth_; } QString client_id() { return client_id_; } QString api_token() { return api_token_; } quint64 user_id() { return user_id_; } @@ -92,9 +92,9 @@ class TidalService : public InternetService { QString access_token() { return access_token_; } QString session_id() { return session_id_; } - const bool authenticated() { return (!access_token_.isEmpty() || !session_id_.isEmpty()); } - const bool login_sent() { return login_sent_; } - const bool login_attempts() { return login_attempts_; } + bool authenticated() { return (!access_token_.isEmpty() || !session_id_.isEmpty()); } + bool login_sent() { return login_sent_; } + bool login_attempts() { return login_attempts_; } void GetStreamURL(const QUrl &url); diff --git a/src/tidal/tidalstreamurlrequest.h b/src/tidal/tidalstreamurlrequest.h index aa35a2150..2e043609b 100644 --- a/src/tidal/tidalstreamurlrequest.h +++ b/src/tidal/tidalstreamurlrequest.h @@ -47,7 +47,7 @@ class TidalStreamURLRequest : public TidalBaseRequest { void NeedLogin() { need_login_ = true; } void Cancel(); - const bool oauth() { return service_->oauth(); } + bool oauth() { return service_->oauth(); } TidalSettingsPage::StreamUrlMethod stream_url_method() { return service_->stream_url_method(); } QUrl original_url() { return original_url_; } int song_id() { return song_id_; } diff --git a/src/transcoder/transcodedialog.cpp b/src/transcoder/transcodedialog.cpp index ca862e229..fee7f197f 100644 --- a/src/transcoder/transcodedialog.cpp +++ b/src/transcoder/transcodedialog.cpp @@ -210,6 +210,9 @@ void TranscodeDialog::Cancel() { void TranscodeDialog::JobComplete(const QString &input, const QString &output, bool success) { + Q_UNUSED(input); + Q_UNUSED(output); + (*(success ? &finished_success_ : &finished_failed_))++; queued_--; diff --git a/src/transcoder/transcoder.h b/src/transcoder/transcoder.h index 6992d7551..912f30d90 100644 --- a/src/transcoder/transcoder.h +++ b/src/transcoder/transcoder.h @@ -51,7 +51,7 @@ struct TranscoderPreset { QString codec_mimetype_; QString muxer_mimetype_; }; -Q_DECLARE_METATYPE(TranscoderPreset); +Q_DECLARE_METATYPE(TranscoderPreset) class Transcoder : public QObject { Q_OBJECT diff --git a/src/transcoder/transcoderoptionsdialog.cpp b/src/transcoder/transcoderoptionsdialog.cpp index f39830e22..cd7a028f4 100644 --- a/src/transcoder/transcoderoptionsdialog.cpp +++ b/src/transcoder/transcoderoptionsdialog.cpp @@ -74,6 +74,7 @@ TranscoderOptionsDialog::~TranscoderOptionsDialog() { } void TranscoderOptionsDialog::showEvent(QShowEvent *e) { + Q_UNUSED(e); if (options_) { options_->Load(); } diff --git a/src/widgets/autoexpandingtreeview.cpp b/src/widgets/autoexpandingtreeview.cpp index 37e2b08c1..47991d03b 100644 --- a/src/widgets/autoexpandingtreeview.cpp +++ b/src/widgets/autoexpandingtreeview.cpp @@ -58,60 +58,67 @@ void AutoExpandingTreeView::reset() { } } -void AutoExpandingTreeView::RecursivelyExpand(const QModelIndex &index) { - int rows = model()->rowCount(index); - RecursivelyExpand(index, &rows); +void AutoExpandingTreeView::RecursivelyExpand(const QModelIndex &idx) { + int rows = model()->rowCount(idx); + RecursivelyExpand(idx, &rows); } -bool AutoExpandingTreeView::RecursivelyExpand(const QModelIndex &index, int *count) { - if (!CanRecursivelyExpand(index)) +bool AutoExpandingTreeView::RecursivelyExpand(const QModelIndex &idx, int *count) { + + if (!CanRecursivelyExpand(idx)) return true; - if (model()->canFetchMore(index)) - model()->fetchMore(index); + if (model()->canFetchMore(idx)) + model()->fetchMore(idx); - int children = model()->rowCount(index); + int children = model()->rowCount(idx); if (*count + children > kRowsToShow) return false; - expand(index); + expand(idx); *count += children; for (int i = 0 ; i < children ; ++i) { - if (!RecursivelyExpand(model()->index(i, 0, index), count)) + if (!RecursivelyExpand(model()->index(i, 0, idx), count)) return false; } return true; + } -void AutoExpandingTreeView::ItemExpanded(const QModelIndex &index) { - if (model()->rowCount(index) == 1 && auto_open_) - expand(model()->index(0, 0, index)); +void AutoExpandingTreeView::ItemExpanded(const QModelIndex &idx) { + if (model()->rowCount(idx) == 1 && auto_open_) + expand(model()->index(0, 0, idx)); } -void AutoExpandingTreeView::ItemClicked(const QModelIndex &index) { +void AutoExpandingTreeView::ItemClicked(const QModelIndex &idx) { + if (ignore_next_click_) { ignore_next_click_ = false; return; } - setExpanded(index, !isExpanded(index)); + setExpanded(idx, !isExpanded(idx)); + } -void AutoExpandingTreeView::ItemDoubleClicked(const QModelIndex &index) { +void AutoExpandingTreeView::ItemDoubleClicked(const QModelIndex &idx) { + ignore_next_click_ = true; if (add_on_double_click_) { - QMimeData *data = model()->mimeData(QModelIndexList() << index); + QMimeData *data = model()->mimeData(QModelIndexList() << idx); if (MimeData *mime_data = qobject_cast(data)) { mime_data->from_doubleclick_ = true; } emit AddToPlaylistSignal(data); } + } void AutoExpandingTreeView::mousePressEvent(QMouseEvent *event) { + if (event->modifiers() != Qt::NoModifier) { ignore_next_click_ = true; } @@ -126,23 +133,27 @@ void AutoExpandingTreeView::mousePressEvent(QMouseEvent *event) { } emit AddToPlaylistSignal(data); } + } void AutoExpandingTreeView::mouseDoubleClickEvent(QMouseEvent *event) { + State p_state = state(); - QModelIndex index = indexAt(event->pos()); + QModelIndex idx = indexAt(event->pos()); QTreeView::mouseDoubleClickEvent(event); // If the p_state was the "AnimatingState", then the base class's // "mouseDoubleClickEvent" method just did nothing, hence the "doubleClicked" signal is not emitted. So let's do it ourselves. - if (index.isValid() && p_state == AnimatingState) { - emit doubleClicked(index); + if (idx.isValid() && p_state == AnimatingState) { + emit doubleClicked(idx); } + } void AutoExpandingTreeView::keyPressEvent(QKeyEvent *e) { - QModelIndex index = currentIndex(); + + QModelIndex idx = currentIndex(); switch (e->key()) { case Qt::Key_Enter: @@ -160,8 +171,8 @@ void AutoExpandingTreeView::keyPressEvent(QKeyEvent *e) { case Qt::Key_Left: // Set focus on the root of the current branch - if (index.isValid() && index.parent() != rootIndex() && (!isExpanded(index) || model()->rowCount(index) == 0)) { - setCurrentIndex(index.parent()); + if (idx.isValid() && idx.parent() != rootIndex() && (!isExpanded(idx) || model()->rowCount(idx) == 0)) { + setCurrentIndex(idx.parent()); setFocus(); e->accept(); } @@ -169,6 +180,7 @@ void AutoExpandingTreeView::keyPressEvent(QKeyEvent *e) { } QTreeView::keyPressEvent(e); + } void AutoExpandingTreeView::UpAndFocus() { diff --git a/src/widgets/autoexpandingtreeview.h b/src/widgets/autoexpandingtreeview.h index de4694a86..de926dd95 100644 --- a/src/widgets/autoexpandingtreeview.h +++ b/src/widgets/autoexpandingtreeview.h @@ -47,7 +47,7 @@ class AutoExpandingTreeView : public QTreeView { void SetAddOnDoubleClick(bool v) { add_on_double_click_ = v; } public slots: - void RecursivelyExpand(const QModelIndex &index); + void RecursivelyExpand(const QModelIndex &idx); void UpAndFocus(); void DownAndFocus(); @@ -64,21 +64,20 @@ protected: void mouseDoubleClickEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *event); - virtual bool CanRecursivelyExpand(const QModelIndex &index) const { return true; } + virtual bool CanRecursivelyExpand(const QModelIndex &idx) const { Q_UNUSED(idx); return true; } private slots: - void ItemExpanded(const QModelIndex &index); - void ItemClicked(const QModelIndex &index); - void ItemDoubleClicked(const QModelIndex &index); + void ItemExpanded(const QModelIndex &idx); + void ItemClicked(const QModelIndex &idx); + void ItemDoubleClicked(const QModelIndex &idx); private: - bool RecursivelyExpand(const QModelIndex &index, int *count); + bool RecursivelyExpand(const QModelIndex &idx, int *count); private: bool auto_open_; bool expand_on_reset_; bool add_on_double_click_; - bool ignore_next_click_; }; diff --git a/src/widgets/fancytabwidget.cpp b/src/widgets/fancytabwidget.cpp index de8400fdb..a722ec666 100644 --- a/src/widgets/fancytabwidget.cpp +++ b/src/widgets/fancytabwidget.cpp @@ -103,6 +103,7 @@ class FancyTabBar: public QTabBar { } void leaveEvent(QEvent *event) { + Q_UNUSED(event); mouseHoverTabIndex = -1; update(); } diff --git a/src/widgets/favoritewidget.cpp b/src/widgets/favoritewidget.cpp index a3de46983..a7b25ebc3 100644 --- a/src/widgets/favoritewidget.cpp +++ b/src/widgets/favoritewidget.cpp @@ -57,6 +57,8 @@ QSize FavoriteWidget::sizeHint() const { void FavoriteWidget::paintEvent(QPaintEvent *e) { + Q_UNUSED(e); + QStylePainter p(this); if (favorite_) { @@ -69,7 +71,11 @@ void FavoriteWidget::paintEvent(QPaintEvent *e) { } void FavoriteWidget::mouseReleaseEvent(QMouseEvent *e) { + + Q_UNUSED(e); + favorite_ = !favorite_; update(); emit FavoriteStateChanged(tab_index_, favorite_); + } diff --git a/src/widgets/groupediconview.h b/src/widgets/groupediconview.h index f5260f76c..e6fe1949b 100644 --- a/src/widgets/groupediconview.h +++ b/src/widgets/groupediconview.h @@ -57,7 +57,7 @@ class GroupedIconView : public QListView { Q_PROPERTY(int item_indent READ item_indent WRITE set_item_indent) // The text of each group's header. Must contain "%1". - Q_PROPERTY(QString header_text READ header_text WRITE set_header_text); + Q_PROPERTY(QString header_text READ header_text WRITE set_header_text) public: GroupedIconView(QWidget *parent = nullptr); diff --git a/src/widgets/lineedit.h b/src/widgets/lineedit.h index 250ac0cdc..c6ad001a9 100644 --- a/src/widgets/lineedit.h +++ b/src/widgets/lineedit.h @@ -104,10 +104,11 @@ protected: class LineEdit : public QLineEdit, public ExtendedEditor { Q_OBJECT - Q_PROPERTY(QString hint READ hint WRITE set_hint); - Q_PROPERTY(qreal font_point_size READ font_point_size WRITE set_font_point_size); - Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button); - Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button); + + Q_PROPERTY(QString hint READ hint WRITE set_hint) + Q_PROPERTY(qreal font_point_size READ font_point_size WRITE set_font_point_size) + Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button) + Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button) public: LineEdit(QWidget *parent = nullptr); @@ -135,9 +136,9 @@ signals: class TextEdit : public QPlainTextEdit, public ExtendedEditor { Q_OBJECT - Q_PROPERTY(QString hint READ hint WRITE set_hint); - Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button); - Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button); + Q_PROPERTY(QString hint READ hint WRITE set_hint) + Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button) + Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button) public: TextEdit(QWidget *parent = nullptr); @@ -158,9 +159,9 @@ signals: class SpinBox : public QSpinBox, public ExtendedEditor { Q_OBJECT - Q_PROPERTY(QString hint READ hint WRITE set_hint); - Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button); - Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button); + Q_PROPERTY(QString hint READ hint WRITE set_hint) + Q_PROPERTY(bool has_clear_button READ has_clear_button WRITE set_clear_button) + Q_PROPERTY(bool has_reset_button READ has_reset_button WRITE set_reset_button) public: SpinBox(QWidget *parent = nullptr); diff --git a/src/widgets/osd_x11.cpp b/src/widgets/osd_x11.cpp index 372dfe40c..cb1e81dc2 100644 --- a/src/widgets/osd_x11.cpp +++ b/src/widgets/osd_x11.cpp @@ -102,6 +102,7 @@ QDBusArgument &operator<<(QDBusArgument &arg, const QImage &image) { } const QDBusArgument &operator>>(const QDBusArgument &arg, QImage &image) { + Q_UNUSED(image); // This is needed to link but shouldn't be called. Q_ASSERT(0); return arg; diff --git a/src/widgets/playingwidget.cpp b/src/widgets/playingwidget.cpp index 115d4248d..aec9469aa 100644 --- a/src/widgets/playingwidget.cpp +++ b/src/widgets/playingwidget.cpp @@ -271,6 +271,8 @@ void PlayingWidget::SongChanged(const Song &song) { void PlayingWidget::AlbumCoverLoaded(const Song &song, const QUrl &cover_url, const QImage &image) { + Q_UNUSED(cover_url); + if (!playing_ || song != song_playing_ || (timeline_fade_->state() == QTimeLine::Running && image == image_original_)) return; active_ = true; @@ -389,6 +391,8 @@ void PlayingWidget::UpdateDetailsText() { void PlayingWidget::paintEvent(QPaintEvent *e) { + Q_UNUSED(e); + QPainter p(this); DrawContents(&p); @@ -398,6 +402,7 @@ void PlayingWidget::paintEvent(QPaintEvent *e) { p.setOpacity(pixmap_previous_track_opacity_); p.drawPixmap(0, 0, pixmap_previous_track_); } + } void PlayingWidget::DrawContents(QPainter *p) { diff --git a/src/widgets/qsearchfield.h b/src/widgets/qsearchfield.h index a6e5d1078..1a04910e1 100644 --- a/src/widgets/qsearchfield.h +++ b/src/widgets/qsearchfield.h @@ -9,8 +9,8 @@ class QSearchFieldPrivate; class QSearchField : public QWidget { Q_OBJECT - Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true); - Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText); + Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true) + Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText) public: explicit QSearchField(QWidget *parent); diff --git a/src/widgets/renametablineedit.cpp b/src/widgets/renametablineedit.cpp index d2eeddd1f..dcc27db05 100644 --- a/src/widgets/renametablineedit.cpp +++ b/src/widgets/renametablineedit.cpp @@ -27,11 +27,10 @@ #include "renametablineedit.h" RenameTabLineEdit::RenameTabLineEdit(QWidget *parent) : - QLineEdit(parent) -{ -} + QLineEdit(parent) {} void RenameTabLineEdit::keyPressEvent (QKeyEvent *e) { + if (e->key() == Qt::Key_Escape) { e->accept(); emit EditingCanceled(); @@ -39,11 +38,16 @@ void RenameTabLineEdit::keyPressEvent (QKeyEvent *e) { else { QLineEdit::keyPressEvent(e); } + } void RenameTabLineEdit::focusOutEvent(QFocusEvent *e) { + + Q_UNUSED(e); + //if the user hasn't explicitly accepted, discard the value emit EditingCanceled(); //we don't call the default event since it will trigger editingFished() + } diff --git a/src/widgets/stickyslider.h b/src/widgets/stickyslider.h index e4db52cd7..a59a4d6ae 100644 --- a/src/widgets/stickyslider.h +++ b/src/widgets/stickyslider.h @@ -31,8 +31,9 @@ class QMouseEvent; class StickySlider : public QSlider { Q_OBJECT - Q_PROPERTY(int sticky_center READ sticky_center WRITE set_sticky_center); - Q_PROPERTY(int sticky_threshold READ sticky_threshold WRITE set_sticky_threshold); + + Q_PROPERTY(int sticky_center READ sticky_center WRITE set_sticky_center) + Q_PROPERTY(int sticky_threshold READ sticky_threshold WRITE set_sticky_threshold) public: StickySlider(QWidget* parent = nullptr);