aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp2
-rw-r--r--src/plugins/Ui/skinned/popupwidget.cpp12
-rw-r--r--src/plugins/Ui/skinned/popupwidget.h5
3 files changed, 9 insertions, 10 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index b19cab16a..064e142b6 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -516,7 +516,7 @@ void ListWidget::mouseMoveEvent(QMouseEvent *e)
else if(m_popupWidget)
{
int row = rowAt(e->y());
- if(row < 0 || m_popupWidget->item() != m_model->item(row))
+ if(row < 0 || m_popupWidget->url() != m_model->item(row)->url())
m_popupWidget->deactivate();
}
}
diff --git a/src/plugins/Ui/skinned/popupwidget.cpp b/src/plugins/Ui/skinned/popupwidget.cpp
index e4cb79301..640a4fddb 100644
--- a/src/plugins/Ui/skinned/popupwidget.cpp
+++ b/src/plugins/Ui/skinned/popupwidget.cpp
@@ -40,7 +40,6 @@ PopupWidget::PopupWidget(QWidget *parent)
setWindowFlags(Qt::X11BypassWindowManagerHint | Qt::Dialog | Qt::FramelessWindowHint);
//setFrameStyle(QFrame::Box | QFrame::Plain);
setAttribute(Qt::WA_QuitOnClose, false);
- m_item = 0;
QHBoxLayout *hlayout = new QHBoxLayout(this); //layout
m_pixlabel = new QLabel(this);
hlayout->addWidget(m_pixlabel);
@@ -86,7 +85,7 @@ void PopupWidget::prepare(PlayListItem *item, QPoint pos)
{
pos += QPoint(15,10);
- m_item = item;
+ m_url = item->url();
hide();
if(!item)
{
@@ -112,19 +111,20 @@ void PopupWidget::prepare(PlayListItem *item, QPoint pos)
void PopupWidget::deactivate()
{
m_timer->stop();
+ m_url.clear();
hide();
}
-PlayListItem *PopupWidget::item()
+const QString PopupWidget::url() const
{
- return m_item;
+ return m_url;
}
void PopupWidget::loadCover()
{
- if(!m_item)
+ if(m_url.isEmpty())
return;
- QPixmap pix = MetaDataManager::instance()->getCover(m_item->url());
+ QPixmap pix = MetaDataManager::instance()->getCover(m_url);
if(pix.isNull())
pix = QPixmap(":/skinned/ui_no_cover.png");
m_pixlabel->setFixedSize(m_coverSize,m_coverSize);
diff --git a/src/plugins/Ui/skinned/popupwidget.h b/src/plugins/Ui/skinned/popupwidget.h
index 9966dd3f9..87c3bed2b 100644
--- a/src/plugins/Ui/skinned/popupwidget.h
+++ b/src/plugins/Ui/skinned/popupwidget.h
@@ -42,7 +42,7 @@ public:
void prepare(PlayListItem *item, QPoint pos);
void deactivate();
- PlayListItem *item();
+ const QString url() const;
protected:
virtual void mousePressEvent (QMouseEvent *);
@@ -58,8 +58,7 @@ private:
QString m_template;
uint m_pos;
int m_coverSize;
- PlayListItem *m_item;
-
+ QString m_url;
};
}