diff --git a/autotests/localfilelistingtest.cpp b/autotests/localfilelistingtest.cpp --- a/autotests/localfilelistingtest.cpp +++ b/autotests/localfilelistingtest.cpp @@ -294,9 +294,9 @@ } QCOMPARE(errorWatchingFilesSpy.count(), 0); - auto firstNewTracksSignal = tracksListSpy.at(0); + const auto &firstNewTracksSignal = tracksListSpy.at(0); auto firstNewTracks = firstNewTracksSignal.at(0).value>(); - auto secondNewTracksSignal = tracksListSpy.at(1); + const auto &secondNewTracksSignal = tracksListSpy.at(1); auto secondNewTracks = secondNewTracksSignal.at(0).value>(); auto newCovers = secondNewTracksSignal.at(1).value>(); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -248,6 +248,7 @@ qml/ElisaMainWindow.qml qml/ApplicationMenu.qml + qml/BaseTheme.qml qml/Theme.qml qml/PlatformIntegration.qml qml/LabelWithToolTip.qml diff --git a/src/musicalbum.h b/src/musicalbum.h --- a/src/musicalbum.h +++ b/src/musicalbum.h @@ -29,6 +29,7 @@ #include #include #include +#include #include @@ -42,11 +43,11 @@ MusicAlbum(); - MusicAlbum(MusicAlbum &&other); + MusicAlbum(MusicAlbum &&other) noexcept; MusicAlbum(const MusicAlbum &other); - MusicAlbum& operator=(MusicAlbum &&other); + MusicAlbum& operator=(MusicAlbum &&other) noexcept; MusicAlbum& operator=(const MusicAlbum &other); @@ -128,14 +129,16 @@ private: - std::unique_ptr d; + QSharedDataPointer d; }; ELISALIB_EXPORT QDebug operator<<(QDebug stream, const MusicAlbum &data); ELISALIB_EXPORT bool operator==(const MusicAlbum &album1, const MusicAlbum &album2); +Q_DECLARE_TYPEINFO(MusicAlbum, Q_MOVABLE_TYPE); + Q_DECLARE_METATYPE(MusicAlbum) #endif // MUSICALBUM_H diff --git a/src/musicalbum.cpp b/src/musicalbum.cpp --- a/src/musicalbum.cpp +++ b/src/musicalbum.cpp @@ -25,10 +25,11 @@ #include #include #include +#include #include -class MusicAlbumPrivate +class MusicAlbumPrivate : public QSharedData { public: @@ -50,47 +51,27 @@ QList mTracks; + QStringList mGenres; + int mTracksCount = 0; bool mIsValid = false; bool mIsSingleDiscAlbum = true; - QStringList mGenres; - }; -MusicAlbum::MusicAlbum() : d(std::make_unique()) -{ -} - -MusicAlbum::MusicAlbum(MusicAlbum &&other) -{ - d.swap(other.d); -} - -MusicAlbum::MusicAlbum(const MusicAlbum &other) : d(std::make_unique(*other.d)) +MusicAlbum::MusicAlbum() : d(new MusicAlbumPrivate()) { } -MusicAlbum& MusicAlbum::operator=(MusicAlbum &&other) -{ - if (&other != this) { - d.reset(); - d.swap(other.d); - } +MusicAlbum::MusicAlbum(MusicAlbum &&other) noexcept = default; - return *this; -} +MusicAlbum::MusicAlbum(const MusicAlbum &other) = default; -MusicAlbum& MusicAlbum::operator=(const MusicAlbum &other) -{ - if (&other != this) { - (*d) = (*other.d); - } +MusicAlbum& MusicAlbum::operator=(MusicAlbum &&other) noexcept = default; - return *this; -} +MusicAlbum& MusicAlbum::operator=(const MusicAlbum &other) = default; MusicAlbum::~MusicAlbum() = default; diff --git a/src/musicartist.h b/src/musicartist.h --- a/src/musicartist.h +++ b/src/musicartist.h @@ -24,6 +24,7 @@ #include #include +#include #include @@ -36,11 +37,11 @@ MusicArtist(); - MusicArtist(MusicArtist &&other); + MusicArtist(MusicArtist &&other) noexcept; MusicArtist(const MusicArtist &other); - MusicArtist& operator=(MusicArtist &&other); + MusicArtist& operator=(MusicArtist &&other) noexcept; MusicArtist& operator=(const MusicArtist &other); @@ -68,14 +69,16 @@ private: - std::unique_ptr d; + QSharedDataPointer d; }; QDebug& operator<<(QDebug &stream, const MusicArtist &data); bool operator==(const MusicArtist &artist1, const MusicArtist &artist2); +Q_DECLARE_TYPEINFO(MusicArtist, Q_MOVABLE_TYPE); + Q_DECLARE_METATYPE(MusicArtist) #endif // MUSICARTIST_H diff --git a/src/musicartist.cpp b/src/musicartist.cpp --- a/src/musicartist.cpp +++ b/src/musicartist.cpp @@ -22,9 +22,11 @@ #include #include #include +#include + #include -class MusicArtistPrivate +class MusicArtistPrivate : public QSharedData { public: @@ -40,37 +42,17 @@ }; -MusicArtist::MusicArtist() : d(std::make_unique()) +MusicArtist::MusicArtist() : d(new MusicArtistPrivate()) { } -MusicArtist::MusicArtist(MusicArtist &&other) -{ - d.swap(other.d); -} +MusicArtist::MusicArtist(MusicArtist &&other) noexcept = default; -MusicArtist::MusicArtist(const MusicArtist &other) : d(std::make_unique(*other.d)) -{ -} +MusicArtist::MusicArtist(const MusicArtist &other) = default; -MusicArtist& MusicArtist::operator=(MusicArtist &&other) -{ - if (&other != this) { - d.reset(); - d.swap(other.d); - } +MusicArtist& MusicArtist::operator=(MusicArtist &&other) noexcept = default; - return *this; -} - -MusicArtist &MusicArtist::operator=(const MusicArtist &other) -{ - if (&other != this) { - (*d) = (*other.d); - } - - return *this; -} +MusicArtist &MusicArtist::operator=(const MusicArtist &other) = default; MusicArtist::~MusicArtist() = default; diff --git a/src/musicaudiogenre.h b/src/musicaudiogenre.h --- a/src/musicaudiogenre.h +++ b/src/musicaudiogenre.h @@ -24,6 +24,7 @@ #include #include +#include #include @@ -37,11 +38,11 @@ MusicAudioGenre(); - MusicAudioGenre(MusicAudioGenre &&other); + MusicAudioGenre(MusicAudioGenre &&other) noexcept; MusicAudioGenre(const MusicAudioGenre &other); - MusicAudioGenre& operator=(MusicAudioGenre &&other); + MusicAudioGenre& operator=(MusicAudioGenre &&other) noexcept; MusicAudioGenre& operator=(const MusicAudioGenre &other); @@ -57,14 +58,16 @@ private: - std::unique_ptr d; + QSharedDataPointer d; }; QDebug& operator<<(QDebug &stream, const MusicAudioGenre &data); bool operator==(const MusicAudioGenre &genre1, const MusicAudioGenre &genre2); +Q_DECLARE_TYPEINFO(MusicAudioGenre, Q_MOVABLE_TYPE); + Q_DECLARE_METATYPE(MusicAudioGenre) #endif // MUSICAUDIOGENRE_H diff --git a/src/musicaudiogenre.cpp b/src/musicaudiogenre.cpp --- a/src/musicaudiogenre.cpp +++ b/src/musicaudiogenre.cpp @@ -19,9 +19,11 @@ #include "musicaudiogenre.h" +#include + #include -class MusicAudioGenrePrivate +class MusicAudioGenrePrivate : public QSharedData { public: @@ -31,37 +33,17 @@ }; -MusicAudioGenre::MusicAudioGenre() : d(std::make_unique()) +MusicAudioGenre::MusicAudioGenre() : d(new MusicAudioGenrePrivate()) { } -MusicAudioGenre::MusicAudioGenre(MusicAudioGenre &&other) -{ - d.swap(other.d); -} +MusicAudioGenre::MusicAudioGenre(MusicAudioGenre &&other) noexcept = default; -MusicAudioGenre::MusicAudioGenre(const MusicAudioGenre &other) : d(std::make_unique(*other.d)) -{ -} +MusicAudioGenre::MusicAudioGenre(const MusicAudioGenre &other) = default; -MusicAudioGenre& MusicAudioGenre::operator=(MusicAudioGenre &&other) -{ - if (&other != this) { - d.reset(); - d.swap(other.d); - } +MusicAudioGenre& MusicAudioGenre::operator=(MusicAudioGenre &&other) noexcept = default; - return *this; -} - -MusicAudioGenre &MusicAudioGenre::operator=(const MusicAudioGenre &other) -{ - if (&other != this) { - (*d) = (*other.d); - } - - return *this; -} +MusicAudioGenre &MusicAudioGenre::operator=(const MusicAudioGenre &other) = default; MusicAudioGenre::~MusicAudioGenre() = default; diff --git a/src/musicaudiotrack.h b/src/musicaudiotrack.h --- a/src/musicaudiotrack.h +++ b/src/musicaudiotrack.h @@ -26,6 +26,7 @@ #include #include #include +#include #include @@ -72,49 +73,49 @@ qulonglong albumId() const; - void setId(const QString &value) const; + void setId(const QString &value); QString id() const; - void setParentId(const QString &value) const; + void setParentId(const QString &value); QString parentId() const; - void setTitle(const QString &value) const; + void setTitle(const QString &value); QString title() const; - void setArtist(const QString &value) const; + void setArtist(const QString &value); QString artist() const; - void setAlbumName(const QString &value) const; + void setAlbumName(const QString &value); QString albumName() const; - void setAlbumArtist(const QString &value) const; + void setAlbumArtist(const QString &value); QString albumArtist() const; - void setGenre(const QString &value) const; + void setGenre(const QString &value); QString genre() const; - void setComposer(const QString &value) const; + void setComposer(const QString &value); QString composer() const; - void setLyricist(const QString &value) const; + void setLyricist(const QString &value); QString lyricist() const; - void setComment(const QString &value) const; + void setComment(const QString &value); QString comment() const; bool isValidAlbumArtist() const; - void setAlbumCover(const QUrl &value) const; + void setAlbumCover(const QUrl &value); QUrl albumCover() const; @@ -154,7 +155,7 @@ const QUrl& resourceURI() const; - void setRating(int value) const; + void setRating(int value); int rating() const; @@ -164,12 +165,14 @@ private: - std::unique_ptr d; + QSharedDataPointer d; }; ELISALIB_EXPORT QDebug operator<<(QDebug stream, const MusicAudioTrack &data); +Q_DECLARE_TYPEINFO(MusicAudioTrack, Q_MOVABLE_TYPE); + Q_DECLARE_METATYPE(MusicAudioTrack) #endif // MUSICAUDIOTRACK_H diff --git a/src/musicaudiotrack.cpp b/src/musicaudiotrack.cpp --- a/src/musicaudiotrack.cpp +++ b/src/musicaudiotrack.cpp @@ -22,8 +22,9 @@ #include #include #include +#include -class MusicAudioTrackPrivate +class MusicAudioTrackPrivate : public QSharedData { public: @@ -35,7 +36,8 @@ QDateTime fileModificationTime, QUrl aAlbumCover, int rating, bool aIsSingleDiscAlbum, QString aGenre, QString aComposer, QString aLyricist) - : mId(std::move(aId)), mParentId(std::move(aParentId)), mTitle(std::move(aTitle)), mArtist(std::move(aArtist)), + : QSharedData(), mId(std::move(aId)), mParentId(std::move(aParentId)), + mTitle(std::move(aTitle)), mArtist(std::move(aArtist)), mAlbumName(std::move(aAlbumName)), mAlbumArtist(std::move(aAlbumArtist)), mGenre(std::move(aGenre)), mComposer(std::move(aComposer)), mLyricist(std::move(aLyricist)), mResourceURI(std::move(aResourceURI)), @@ -98,55 +100,35 @@ }; -MusicAudioTrack::MusicAudioTrack() : d(std::make_unique()) +MusicAudioTrack::MusicAudioTrack() : d(new MusicAudioTrackPrivate()) { } MusicAudioTrack::MusicAudioTrack(bool aValid, QString aId, QString aParentId, QString aTitle, QString aArtist, QString aAlbumName, QString aAlbumArtist, int aTrackNumber, int aDiscNumber, QTime aDuration, QUrl aResourceURI, const QDateTime &fileModificationTime, QUrl aAlbumCover, int rating, bool aIsSingleDiscAlbum, QString aGenre, QString aComposer, QString aLyricist) - : d(std::make_unique(aValid, std::move(aId), std::move(aParentId), - std::move(aTitle), std::move(aArtist), - std::move(aAlbumName), std::move(aAlbumArtist), - aTrackNumber, aDiscNumber, aDuration, - std::move(aResourceURI), fileModificationTime, - std::move(aAlbumCover), rating, - aIsSingleDiscAlbum, std::move(aGenre), - std::move(aComposer), std::move(aLyricist))) + : d(new MusicAudioTrackPrivate(aValid, std::move(aId), std::move(aParentId), + std::move(aTitle), std::move(aArtist), + std::move(aAlbumName), std::move(aAlbumArtist), + aTrackNumber, aDiscNumber, aDuration, + std::move(aResourceURI), fileModificationTime, + std::move(aAlbumCover), rating, + aIsSingleDiscAlbum, std::move(aGenre), + std::move(aComposer), std::move(aLyricist))) { } -MusicAudioTrack::MusicAudioTrack(MusicAudioTrack &&other) noexcept -{ - d.swap(other.d); -} +MusicAudioTrack::MusicAudioTrack(MusicAudioTrack &&other) noexcept = default; -MusicAudioTrack::MusicAudioTrack(const MusicAudioTrack &other) : d(std::make_unique(*other.d)) -{ -} +MusicAudioTrack::MusicAudioTrack(const MusicAudioTrack &other) = default; MusicAudioTrack::~MusicAudioTrack() = default; -MusicAudioTrack& MusicAudioTrack::operator=(MusicAudioTrack &&other) noexcept -{ - if (this != &other) { - d.reset(); - d.swap(other.d); - } - - return *this; -} - -MusicAudioTrack& MusicAudioTrack::operator=(const MusicAudioTrack &other) -{ - if (this != &other) { - (*d) = (*other.d); - } +MusicAudioTrack& MusicAudioTrack::operator=(MusicAudioTrack &&other) noexcept = default; - return *this; -} +MusicAudioTrack& MusicAudioTrack::operator=(const MusicAudioTrack &other) = default; bool MusicAudioTrack::operator <(const MusicAudioTrack &other) const { @@ -213,7 +195,7 @@ return d->mAlbumId; } -void MusicAudioTrack::setId(const QString &value) const +void MusicAudioTrack::setId(const QString &value) { d->mId = value; } @@ -223,7 +205,7 @@ return d->mId; } -void MusicAudioTrack::setParentId(const QString &value) const +void MusicAudioTrack::setParentId(const QString &value) { d->mParentId = value; } @@ -233,7 +215,7 @@ return d->mParentId; } -void MusicAudioTrack::setTitle(const QString &value) const +void MusicAudioTrack::setTitle(const QString &value) { d->mTitle = value; } @@ -243,7 +225,7 @@ return d->mTitle; } -void MusicAudioTrack::setArtist(const QString &value) const +void MusicAudioTrack::setArtist(const QString &value) { d->mArtist = value; } @@ -253,7 +235,7 @@ return d->mArtist; } -void MusicAudioTrack::setAlbumName(const QString &value) const +void MusicAudioTrack::setAlbumName(const QString &value) { d->mAlbumName = value; } @@ -263,7 +245,7 @@ return d->mAlbumName; } -void MusicAudioTrack::setAlbumArtist(const QString &value) const +void MusicAudioTrack::setAlbumArtist(const QString &value) { d->mAlbumArtist = value; } @@ -278,7 +260,7 @@ return !d->mAlbumArtist.isEmpty(); } -void MusicAudioTrack::setAlbumCover(const QUrl &value) const +void MusicAudioTrack::setAlbumCover(const QUrl &value) { d->mAlbumCover = value; } @@ -288,7 +270,7 @@ return d->mAlbumCover; } -void MusicAudioTrack::setGenre(const QString &value) const +void MusicAudioTrack::setGenre(const QString &value) { d->mGenre = value; } @@ -298,7 +280,7 @@ return d->mGenre; } -void MusicAudioTrack::setComposer(const QString &value) const +void MusicAudioTrack::setComposer(const QString &value) { d->mComposer = value; } @@ -308,7 +290,7 @@ return d->mComposer; } -void MusicAudioTrack::setLyricist(const QString &value) const +void MusicAudioTrack::setLyricist(const QString &value) { d->mLyricist = value; } @@ -318,7 +300,7 @@ return d->mLyricist; } -void MusicAudioTrack::setComment(const QString &value) const +void MusicAudioTrack::setComment(const QString &value) { d->mComment = value; } @@ -418,7 +400,7 @@ return d->mResourceURI; } -void MusicAudioTrack::setRating(int value) const +void MusicAudioTrack::setRating(int value) { d->mRating = value; } diff --git a/src/qml/Theme.qml b/src/qml/BaseTheme.qml copy from src/qml/Theme.qml copy to src/qml/BaseTheme.qml diff --git a/src/qml/Theme.qml b/src/qml/Theme.qml --- a/src/qml/Theme.qml +++ b/src/qml/Theme.qml @@ -20,103 +20,5 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 -Item { - function dp(pixel) { - // 96 - common, "base" DPI value - return Math.round(pixel * logicalDpi / 96); - } - - property string defaultAlbumImage: 'image://icon/media-optical-audio' - property string defaultArtistImage: 'image://icon/view-media-artist' - property string defaultBackgroundImage: 'qrc:///background.png' - property string artistIcon: 'image://icon/view-media-artist' - property string albumIcon: 'image://icon/view-media-album-cover' - property string playlistIcon: 'image://icon/view-media-playlist' - property string tracksIcon: 'image://icon/view-media-track' - property string genresIcon: 'image://icon/view-media-genre' - property string clearIcon: 'image://icon/edit-clear' - property string skipBackwardIcon: 'image://icon/media-skip-backward' - property string pauseIcon: 'image://icon/media-playback-pause' - property string playIcon: 'image://icon/media-playback-start' - property string skipForwardIcon: 'image://icon/media-skip-forward' - property string pausedIndicatorIcon: 'image://icon/media-playback-paused' - property string playingIndicatorIcon: 'image://icon/media-playback-playing' - property string playerVolumeMutedIcon: 'image://icon/player-volume-muted' - property string playerVolumeIcon: 'image://icon/player-volume' - property string ratingIcon: 'image://icon/rating' - property string ratingUnratedIcon: 'image://icon/rating-unrated' - property string errorIcon: 'image://icon/error' - property string repeatIcon: 'image://icon/media-repeat-all' - property string shuffleIcon: 'image://icon/media-playlist-shuffle' - property string noRepeatIcon: 'image://icon/media-repeat-none' - property string noShuffleIcon: 'image://icon/media-playlist-normal' - property string folderIcon: 'image://icon/document-open-folder' - property string maximizeIcon: 'image://icon/draw-arrow-down' - property string minimizeIcon: 'image://icon/draw-arrow-up' - - property int layoutHorizontalMargin: dp(8) - property int layoutVerticalMargin: dp(6) - - property int delegateHeight: dp(28) - - FontMetrics { - id: playListAuthorTextHeight - font.weight: Font.Light - } - - FontMetrics { - id: playListAlbumTextHeight - font.weight: Font.Bold - font.pointSize: elisaTheme.defaultFontPointSize * 1.4 - } - - FontMetrics { - id: playListTrackTextHeight - font.weight: Font.Bold - } - - property int playListDelegateHeight: (playListTrackTextHeight.height > dp(28)) ? playListTrackTextHeight.height : dp(28) - property int playListDelegateWithHeaderHeight: playListDelegateHeight + - elisaTheme.layoutVerticalMargin * 5 + - playListAuthorTextHeight.height + - playListAlbumTextHeight.height - - property int trackDelegateHeight: dp(45) - - property int coverImageSize: dp(180) - property int smallImageSize: dp(32) - - property int maximumMetadataWidth: dp(300) - - property int tooltipRadius: dp(3) - property int shadowOffset: dp(2) - - property int delegateToolButtonSize: dp(34) - property int smallDelegateToolButtonSize: dp(20) - - property int ratingStarSize: dp(15) - - property int mediaPlayerControlHeight: dp(42) - property int mediaPlayerHorizontalMargin: dp(10) - property real mediaPlayerControlOpacity: 0.6 - property int smallControlButtonSize: dp(22) - property int volumeSliderWidth: dp(100) - - property int dragDropPlaceholderHeight: dp(28) - - property int navigationBarHeight: dp(100) - property int navigationBarFilterHeight: dp(44) - - property int gridDelegateHeight: dp(100) + layoutVerticalMargin + fontSize.height * 2 - property int gridDelegateWidth: dp(100) - - property int viewSelectorDelegateHeight: dp(24) - - property int filterClearButtonMargin: layoutVerticalMargin - - property alias defaultFontPointSize: fontSize.font.pointSize - - Label { - id: fontSize - } +BaseTheme { } diff --git a/src/resources.qrc b/src/resources.qrc --- a/src/resources.qrc +++ b/src/resources.qrc @@ -31,6 +31,7 @@ qtquickcontrols2.conf background.png qml/ViewManager.qml + qml/BaseTheme.qml windows/WindowsTheme.qml diff --git a/src/windows/WindowsTheme.qml b/src/windows/WindowsTheme.qml --- a/src/windows/WindowsTheme.qml +++ b/src/windows/WindowsTheme.qml @@ -20,98 +20,6 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 -Item { - function dp(pixel) { - // 96 - common, "base" DPI value - return Math.round(pixel * logicalDpi / 96); - } - - property string defaultAlbumImage: 'image://icon/media-optical-audio' - property string defaultArtistImage: 'image://icon/view-media-artist' - property string defaultBackgroundImage: 'qrc:///background.png' - property string artistIcon: 'image://icon/view-media-artist' - property string albumIcon: 'image://icon/view-media-album-cover' - property string playlistIcon: 'image://icon/view-media-playlist' - property string tracksIcon: 'image://icon/view-media-track' - property string genresIcon: 'image://icon/view-media-genre' - property string clearIcon: 'image://icon/edit-clear' - property string skipBackwardIcon: 'image://icon/media-skip-backward' - property string pauseIcon: 'image://icon/media-playback-pause' - property string playIcon: 'image://icon/media-playback-start' - property string skipForwardIcon: 'image://icon/media-skip-forward' - property string pausedIndicatorIcon: 'image://icon/media-playback-paused' - property string playingIndicatorIcon: 'image://icon/media-playback-playing' - property string playerVolumeMutedIcon: 'image://icon/player-volume-muted' - property string playerVolumeIcon: 'image://icon/player-volume' - property string ratingIcon: 'image://icon/rating' - property string ratingUnratedIcon: 'image://icon/rating-unrated' - property string errorIcon: 'image://icon/error' - property string repeatIcon: 'image://icon/media-repeat-all' - property string shuffleIcon: 'image://icon/media-playlist-shuffle' - property string noRepeatIcon: 'image://icon/media-repeat-none' - property string noShuffleIcon: 'image://icon/media-playlist-normal' - property string folderIcon: 'image://icon/document-open-folder' - property string maximizeIcon: 'image://icon/draw-arrow-down' - property string minimizeIcon: 'image://icon/draw-arrow-up' - - property int layoutHorizontalMargin: dp(8) - property int layoutVerticalMargin: dp(6) - - property int delegateHeight: dp(28) - - FontMetrics { - id: playListAuthorTextHeight - font.weight: Font.Light - } - - FontMetrics { - id: playListTitleTextHeight - font.weight: Font.Bold - font.pointSize: elisaTheme.defaultFontPointSize * 1.4 - } - - property int playListDelegateHeight: dp(28) - property int playListDelegateWithHeaderHeight: playListDelegateHeight + - elisaTheme.layoutVerticalMargin * 5 + - playListAuthorTextHeight.height + - playListTitleTextHeight.height - - property int trackDelegateHeight: dp(45) - - property int coverImageSize: dp(180) - property int smallImageSize: dp(32) - - property int maximumMetadataWidth: dp(300) - - property int tooltipRadius: dp(3) - property int shadowOffset: dp(2) - - property int delegateToolButtonSize: dp(34) - property int smallDelegateToolButtonSize: dp(20) - - property int ratingStarSize: dp(15) - - property int mediaPlayerControlHeight: dp(42) - property int mediaPlayerHorizontalMargin: dp(10) +BaseTheme { property real mediaPlayerControlOpacity: 0.8 - property int smallControlButtonSize: dp(22) - property int volumeSliderWidth: dp(100) - - property int dragDropPlaceholderHeight: dp(28) - - property int navigationBarHeight: dp(100) - property int navigationBarFilterHeight: dp(44) - - property int gridDelegateHeight: dp(100) + layoutVerticalMargin + fontSize.height * 2 - property int gridDelegateWidth: dp(100) - - property int viewSelectorDelegateHeight: dp(24) - - property int filterClearButtonMargin: layoutVerticalMargin - - property alias defaultFontPointSize: fontSize.font.pointSize - - Label { - id: fontSize - } }