mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-07-31 11:20:22 +02:00
* OverlayWidget now expects a QAbstractItemView which it automatically connects all signals to.
This commit is contained in:
@@ -30,7 +30,7 @@
|
|||||||
#define OPACITY 0.70
|
#define OPACITY 0.70
|
||||||
|
|
||||||
|
|
||||||
OverlayWidget::OverlayWidget( QWidget* parent )
|
OverlayWidget::OverlayWidget( QAbstractItemView* parent )
|
||||||
: QWidget( parent ) // this is on purpose!
|
: QWidget( parent ) // this is on purpose!
|
||||||
, m_opacity( 0.00 )
|
, m_opacity( 0.00 )
|
||||||
, m_parent( parent )
|
, m_parent( parent )
|
||||||
@@ -42,6 +42,12 @@ OverlayWidget::OverlayWidget( QWidget* parent )
|
|||||||
|
|
||||||
m_timer.setSingleShot( true );
|
m_timer.setSingleShot( true );
|
||||||
connect( &m_timer, SIGNAL( timeout() ), this, SLOT( hide() ) );
|
connect( &m_timer, SIGNAL( timeout() ), this, SLOT( hide() ) );
|
||||||
|
|
||||||
|
if ( m_parent->model() )
|
||||||
|
{
|
||||||
|
connect( m_parent->model(), SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( onViewChanged() ), Qt::UniqueConnection );
|
||||||
|
}
|
||||||
|
connect( m_parent, SIGNAL( modelChanged() ), SLOT( onViewModelChanged() ) );
|
||||||
|
|
||||||
#ifdef Q_WS_MAC
|
#ifdef Q_WS_MAC
|
||||||
QFont f( font() );
|
QFont f( font() );
|
||||||
@@ -120,6 +126,31 @@ OverlayWidget::shown() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
OverlayWidget::onViewChanged()
|
||||||
|
{
|
||||||
|
if ( m_parent->model()->rowCount() )
|
||||||
|
{
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
OverlayWidget::onViewModelChanged()
|
||||||
|
{
|
||||||
|
if ( m_parent->model() )
|
||||||
|
{
|
||||||
|
connect( m_parent->model(), SIGNAL( rowsInserted( QModelIndex, int, int ) ), SLOT( onViewChanged() ), Qt::UniqueConnection );
|
||||||
|
onViewChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
OverlayWidget::paintEvent( QPaintEvent* event )
|
OverlayWidget::paintEvent( QPaintEvent* event )
|
||||||
{
|
{
|
||||||
|
@@ -31,7 +31,7 @@ Q_OBJECT
|
|||||||
Q_PROPERTY( qreal opacity READ opacity WRITE setOpacity )
|
Q_PROPERTY( qreal opacity READ opacity WRITE setOpacity )
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OverlayWidget( QWidget* parent );
|
OverlayWidget( QAbstractItemView* parent );
|
||||||
~OverlayWidget();
|
~OverlayWidget();
|
||||||
|
|
||||||
qreal opacity() const { return m_opacity; }
|
qreal opacity() const { return m_opacity; }
|
||||||
@@ -49,12 +49,16 @@ public slots:
|
|||||||
protected:
|
protected:
|
||||||
// void changeEvent( QEvent* e );
|
// void changeEvent( QEvent* e );
|
||||||
void paintEvent( QPaintEvent* event );
|
void paintEvent( QPaintEvent* event );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onViewChanged();
|
||||||
|
void onViewModelChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_text;
|
QString m_text;
|
||||||
qreal m_opacity;
|
qreal m_opacity;
|
||||||
|
|
||||||
QWidget* m_parent;
|
QAbstractItemView* m_parent;
|
||||||
QTimer m_timer;
|
QTimer m_timer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user