diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -369,7 +369,6 @@
qml/NavigationActionBar.qml
qml/MediaPlayerControl.qml
qml/ContextView.qml
- qml/ContextViewLyrics.qml
qml/ContentView.qml
qml/ViewSelector.qml
qml/ViewSelectorDelegate.qml
diff --git a/src/models/trackcontextmetadatamodel.cpp b/src/models/trackcontextmetadatamodel.cpp
--- a/src/models/trackcontextmetadatamodel.cpp
+++ b/src/models/trackcontextmetadatamodel.cpp
@@ -26,6 +26,7 @@
removeMetaData(DatabaseInterface::TitleRole);
removeMetaData(DatabaseInterface::ArtistRole);
removeMetaData(DatabaseInterface::AlbumRole);
+ removeMetaData(DatabaseInterface::AlbumArtistRole);
if (dataFromType(DatabaseInterface::IsSingleDiscAlbumRole).toBool() &&
dataFromType(DatabaseInterface::DiscNumberRole).toInt() == 1) {
diff --git a/src/qml/ContextView.qml b/src/qml/ContextView.qml
--- a/src/qml/ContextView.qml
+++ b/src/qml/ContextView.qml
@@ -90,6 +90,8 @@
id: content
width: topItem.width
+ anchors.leftMargin: elisaTheme.layoutHorizontalMargin
+ anchors.rightMargin: elisaTheme.layoutHorizontalMargin
// Album art slice
Image {
@@ -99,11 +101,12 @@
Layout.maximumHeight: elisaTheme.contextCoverImageSize
Layout.preferredHeight: elisaTheme.contextCoverImageSize
Layout.fillWidth: true
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
- Layout.topMargin: elisaTheme.layoutVerticalMargin
Layout.bottomMargin: elisaTheme.layoutVerticalMargin
+ // Touch the sides of the scrollview
+ Layout.leftMargin: -elisaTheme.layoutHorizontalMargin
+ Layout.rightMargin: -elisaTheme.layoutHorizontalMargin
+
sourceSize.width: topItem.width
sourceSize.height: topItem.width
@@ -119,69 +122,55 @@
font.pointSize: elisaTheme.headerTitleFontSize
font.weight: Font.Bold
+ horizontalAlignment: Label.AlignHCenter
+
Layout.fillWidth: true
- Layout.alignment: Qt.AlignLeft | Qt.AlignTop
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
+ Layout.alignment: Qt.AlignTop
+
Layout.topMargin: elisaTheme.layoutVerticalMargin
}
LabelWithToolTip {
- id: albumArtistLabel
-
- text: (artistName && albumName ? i18nc('display of artist and album in context view', 'by %1 from %2', artistName, albumName) : '')
+ id: subtitleLabel
+
+ text: {
+ if (artistName !== '' && albumName !== '') {
+ return i18nc('display of artist and album in context view', 'by %1 from %2', artistName, albumName)
+ } else if (artistName === '' && albumName !== '') {
+ return i18nc('display of album in context view', 'from %1', albumName)
+ } else if (artistName !== '' && albumName === '') {
+ i18nc('display of artist in context view', 'by %1', artistName)
+ }
+ }
font.pointSize: Math.round(elisaTheme.defaultFontPointSize * 1.4)
+ horizontalAlignment: Label.AlignHCenter
visible: artistName !== '' && albumName !== ''
Layout.fillWidth: true
- Layout.alignment: Qt.AlignLeft | Qt.AlignTop
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
- Layout.bottomMargin: elisaTheme.layoutVerticalMargin
+ Layout.alignment: Qt.AlignTop
}
- LabelWithToolTip {
- id: albumLabel
-
- text: (albumName ? i18nc('display of album in context view', 'from %1', albumName) : '')
-
- font.pointSize: Math.round(elisaTheme.defaultFontPointSize * 1.4)
-
- visible: artistName === '' && albumName !== ''
-
+ // Horizontal line separating title and subtitle from metadata
+ Rectangle {
Layout.fillWidth: true
- Layout.alignment: Qt.AlignLeft | Qt.AlignTop
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
- Layout.bottomMargin: elisaTheme.layoutVerticalMargin
- }
+ Layout.leftMargin: elisaTheme.layoutHorizontalMargin * 5
+ Layout.rightMargin: elisaTheme.layoutHorizontalMargin * 5
+ Layout.topMargin: elisaTheme.layoutVerticalMargin * 2
+ Layout.bottomMargin: elisaTheme.layoutVerticalMargin * 2
- LabelWithToolTip {
- id: artistLabel
-
- text: (artistName ? i18nc('display of artist in context view', 'by %1', artistName) : '')
-
- font.pointSize: Math.round(elisaTheme.defaultFontPointSize * 1.4)
+ height: 1
- visible: artistName !== '' && albumName === ''
-
- Layout.fillWidth: true
- Layout.alignment: Qt.AlignLeft | Qt.AlignTop
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
- Layout.bottomMargin: elisaTheme.layoutVerticalMargin
+ color: myPalette.mid
}
// Metadata
ColumnLayout {
id: allMetaData
spacing: 0
Layout.fillWidth: true
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
Repeater {
id: trackData
@@ -194,18 +183,34 @@
}
}
+ // Horizontal line separating metadata from lyrics
+ Rectangle {
+ Layout.fillWidth: true
+ Layout.leftMargin: elisaTheme.layoutHorizontalMargin * 5
+ Layout.rightMargin: elisaTheme.layoutHorizontalMargin * 5
+ Layout.topMargin: elisaTheme.layoutVerticalMargin * 2
+ Layout.bottomMargin: elisaTheme.layoutVerticalMargin * 2
+
+ height: 1
+
+ color: myPalette.mid
+
+ visible: metaDataModel.lyrics !== ""
+ }
+
// Lyrics
- ContextViewLyrics {
- id: lyricsContextView
+ Label {
+ text: metaDataModel.lyrics
+
+ wrapMode: Text.WordWrap
+
+ horizontalAlignment: Label.AlignHCenter
Layout.fillWidth: true
- Layout.leftMargin: elisaTheme.layoutHorizontalMargin
- Layout.rightMargin: elisaTheme.layoutHorizontalMargin
Layout.bottomMargin: elisaTheme.layoutVerticalMargin
visible: metaDataModel.lyrics !== ""
- lyrics: metaDataModel.lyrics
}
}
}
diff --git a/src/qml/ContextViewLyrics.qml b/src/qml/ContextViewLyrics.qml
deleted file mode 100644
--- a/src/qml/ContextViewLyrics.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2016 Matthieu Gallien
- *
- * This program is free software: you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- */
-
-import QtQuick 2.10
-import QtQuick.Controls 2.2
-import QtQuick.Layouts 1.2
-
-import org.kde.elisa 1.0
-
-ColumnLayout {
- property string lyrics
-
- Label {
- id: title
-
- horizontalAlignment: Label.AlignHCenter
-
- text: i18nc("Lyrics label for track metadata view", "Lyrics")
-
- font.weight: Font.Bold
-
- Layout.fillWidth: true
- }
-
- Label {
- text: lyrics
-
- horizontalAlignment: Text.AlignLeft
-
- Layout.fillWidth: true
-
- wrapMode: Text.WordWrap
- }
-}
diff --git a/src/qml/MetaDataDelegate.qml b/src/qml/MetaDataDelegate.qml
--- a/src/qml/MetaDataDelegate.qml
+++ b/src/qml/MetaDataDelegate.qml
@@ -32,23 +32,21 @@
id: metaDataLabelMetric
text: 'Metadata Name'
-
- font.weight: Font.Bold
}
Label {
id: metaDataLabels
- text: model.name
+ text: i18nc("Label for a piece of metadata, e.g. 'Album Artist:'", "%1:", model.name)
font.weight: Font.Bold
- horizontalAlignment: Text.AlignLeft
+ horizontalAlignment: Text.AlignRight
Layout.alignment: Qt.AlignTop
Layout.preferredWidth: 0.8 * elisaTheme.coverImageSize
- Layout.rightMargin: !LayoutMirroring.enabled ? elisaTheme.layoutHorizontalMargin * 2 : 0
- Layout.leftMargin: LayoutMirroring.enabled ? elisaTheme.layoutHorizontalMargin * 2 : 0
+ Layout.rightMargin: !LayoutMirroring.enabled ? elisaTheme.layoutHorizontalMargin / 2 : 0
+ Layout.leftMargin: LayoutMirroring.enabled ? elisaTheme.layoutHorizontalMargin / 2 : 0
}
Loader {
diff --git a/src/resources.qrc b/src/resources.qrc
--- a/src/resources.qrc
+++ b/src/resources.qrc
@@ -40,7 +40,6 @@
qml/PlayListAlbumHeader.qml
qml/BasicPlayListAlbumHeader.qml
qml/MetaDataDelegate.qml
- qml/ContextViewLyrics.qml
qml/ViewSelectorDelegate.qml
qml/HeaderFooterToolbar.qml