summaryrefslogtreecommitdiffstats
path: root/src/library
diff options
context:
space:
mode:
Diffstat (limited to 'src/library')
-rw-r--r--src/library/dlgtrackinfo.cpp17
-rw-r--r--src/library/dlgtrackinfo.h2
-rw-r--r--src/library/dlgtrackinfo.ui35
3 files changed, 36 insertions, 18 deletions
diff --git a/src/library/dlgtrackinfo.cpp b/src/library/dlgtrackinfo.cpp
index ea998a073f..e876f9f273 100644
--- a/src/library/dlgtrackinfo.cpp
+++ b/src/library/dlgtrackinfo.cpp
@@ -32,6 +32,7 @@ DlgTrackInfo::DlgTrackInfo(QWidget* parent,
m_pTapFilter(new TapFilter(this, kFilterLength, kMaxInterval)),
m_dLastTapedBpm(-1.),
m_pWCoverArtLabel(new WCoverArtLabel(this)),
+ m_pWStarRating(new WStarRating(nullptr, this)),
m_pConfig(pConfig),
m_pTrackModel(trackModel) {
init();
@@ -44,10 +45,17 @@ DlgTrackInfo::~DlgTrackInfo() {
void DlgTrackInfo::init() {
setupUi(this);
- coverBox->setAlignment(Qt::AlignRight|Qt::AlignTop);
- coverBox->setSpacing(0);
- coverBox->setContentsMargins(0, 0, 0, 0);
- coverBox->insertWidget(1, m_pWCoverArtLabel);
+ coverLayout->setAlignment(Qt::AlignRight | Qt::AlignTop);
+ coverLayout->setSpacing(0);
+ coverLayout->setContentsMargins(0, 0, 0, 0);
+ coverLayout->insertWidget(0, m_pWCoverArtLabel);
+
+ starsLayout->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
+ starsLayout->setSpacing(0);
+ starsLayout->setContentsMargins(0, 0, 0, 0);
+ starsLayout->insertWidget(0, m_pWStarRating);
+ // This is necessary to pass on mouseMove events to WStarRating
+ m_pWStarRating->setMouseTracking(true);
m_pTagFetcher.reset(new DlgTagFetcher(this, m_pTrackModel));
if (m_pTrackModel) {
@@ -269,6 +277,7 @@ void DlgTrackInfo::populateFields(const Track& track) {
m_loadedCoverInfo = track.getCoverInfoWithLocation();
m_pWCoverArtLabel->setCoverArt(m_loadedCoverInfo, QPixmap());
CoverArtCache::requestCover(this, m_loadedCoverInfo);
+ m_pWStarRating->slotTrackLoaded(m_pLoadedTrack);
}
void DlgTrackInfo::reloadTrackBeats(const Track& track) {
diff --git a/src/library/dlgtrackinfo.h b/src/library/dlgtrackinfo.h
index 1f50804fbb..4f4e77ddbd 100644
--- a/src/library/dlgtrackinfo.h
+++ b/src/library/dlgtrackinfo.h
@@ -16,6 +16,7 @@
#include "util/types.h"
#include "widget/wcoverartlabel.h"
#include "widget/wcoverartmenu.h"
+#include "widget/wstarrating.h"
/// A dialog box to display and edit track properties.
/// Use TrackPointer to load a track into the dialog or
@@ -100,6 +101,7 @@ class DlgTrackInfo : public QDialog, public Ui::DlgTrackInfo {
CoverInfo m_loadedCoverInfo;
WCoverArtLabel* m_pWCoverArtLabel;
+ WStarRating* m_pWStarRating;
UserSettingsPointer m_pConfig;
const TrackModel* m_pTrackModel;
diff --git a/src/library/dlgtrackinfo.ui b/src/library/dlgtrackinfo.ui
index 3b0e38c53b..51946d11aa 100644
--- a/src/library/dlgtrackinfo.ui
+++ b/src/library/dlgtrackinfo.ui
@@ -94,7 +94,7 @@
</widget>
</item>
- <item row="0" column="2" rowspan="3" colspan="2">
+ <item row="0" column="2" colspan="2" rowspan="3">
<widget class="QWidget" name="verticalWidgetCover" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@@ -102,25 +102,13 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <layout class="QHBoxLayout" name="coverBox">
+ <layout class="QHBoxLayout" name="coverLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
</layout>
</widget>
</item>
@@ -227,6 +215,25 @@
</widget>
</item>
+ <item row="3" column="2" colspan="2">
+ <widget class="QWidget" name="verticalWidgetStars" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QHBoxLayout" name="starsLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetDefaultConstraint</enum>
+ </property>
+ </layout>
+ </widget>
+ </item>
+
<item row="4" column="0">
<widget class="QLabel" name="lblComposer">
<property name="text">