From 347bfe4d1235057e5f0007a886b218d71f795eb2 Mon Sep 17 00:00:00 2001 From: Jakob Leben Date: Wed, 10 Feb 2010 07:21:12 +0100 Subject: [PATCH] Qt: selector cosmetic polish --- .../gui/qt4/components/playlist/selector.cpp | 20 ++++++++++++++++--- .../gui/qt4/components/playlist/selector.hpp | 12 ++++++++++- modules/gui/qt4/util/customwidgets.hpp | 4 ++-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/modules/gui/qt4/components/playlist/selector.cpp b/modules/gui/qt4/components/playlist/selector.cpp index 7af9b34b1b..f0ce539b8c 100644 --- a/modules/gui/qt4/components/playlist/selector.cpp +++ b/modules/gui/qt4/components/playlist/selector.cpp @@ -44,6 +44,20 @@ #include #include +void SelectorActionButton::paintEvent( QPaintEvent *event ) +{ + QPainter p( this ); + QColor color = palette().color( QPalette::HighlightedText ); + color.setAlpha( 80 ); + if( underMouse() ) + p.fillRect( rect(), color ); + p.setPen( color ); + int frame = style()->pixelMetric( QStyle::PM_DefaultFrameWidth, 0, this ); + p.drawLine( rect().topLeft() + QPoint( 0, frame ), + rect().bottomLeft() - QPoint( 0, frame ) ); + QVLCFramelessButton::paintEvent( event ); +} + PLSelItem::PLSelItem ( QTreeWidgetItem *i, const QString& text ) : qitem(i), lblAction( NULL) { @@ -74,14 +88,14 @@ void PLSelItem::addAction( ItemAction act, const QString& tooltip ) icon = QIcon( ":/buttons/playlist/playlist_remove" ); break; } - lblAction = new QVLCFramelessButton(); + lblAction = new SelectorActionButton(); lblAction->setIcon( icon ); + lblAction->setMinimumWidth( lblAction->sizeHint().width() + 6 ); if( !tooltip.isEmpty() ) lblAction->setToolTip( tooltip ); layout->addWidget( lblAction, 0 ); lblAction->hide(); - layout->addSpacing( 3 ); CONNECT( lblAction, clicked(), this, triggerAction() ); } @@ -102,7 +116,7 @@ PLSelector::PLSelector( QWidget *p, intf_thread_t *_p_intf ) setFrameStyle( QFrame::NoFrame ); viewport()->setAutoFillBackground( false ); setIconSize( QSize( 24,24 ) ); - setIndentation( 14 ); + setIndentation( 12 ); header()->hide(); setRootIsDecorated( true ); setAlternatingRowColors( false ); diff --git a/modules/gui/qt4/components/playlist/selector.hpp b/modules/gui/qt4/components/playlist/selector.hpp index ab3c503a07..e9ea01741d 100644 --- a/modules/gui/qt4/components/playlist/selector.hpp +++ b/modules/gui/qt4/components/playlist/selector.hpp @@ -36,13 +36,13 @@ #include #include #include +#include "util/customwidgets.hpp" #include #include "qt4.hpp" class PlaylistWidget; -class QVLCFramelessButton; enum SelectorItemType { CATEGORY_TYPE, @@ -71,6 +71,16 @@ enum ItemAction { RM_ACTION }; + +class SelectorActionButton : public QVLCFramelessButton +{ +public: + SelectorActionButton( QWidget *parent = NULL ) + : QVLCFramelessButton( parent ) {} +private: + void paintEvent( QPaintEvent * ); +}; + class PLSelItem : public QWidget { Q_OBJECT; diff --git a/modules/gui/qt4/util/customwidgets.hpp b/modules/gui/qt4/util/customwidgets.hpp index b7d843ab2a..77d57651a6 100644 --- a/modules/gui/qt4/util/customwidgets.hpp +++ b/modules/gui/qt4/util/customwidgets.hpp @@ -63,8 +63,8 @@ class QVLCFramelessButton : public QPushButton public: QVLCFramelessButton( QWidget *parent = NULL ); QSize sizeHint() const; -private: - void paintEvent( QPaintEvent * event ); +protected: + virtual void paintEvent( QPaintEvent * event ); }; class QLabel; -- 2.39.2