]> git.sesse.net Git - vlc/commitdiff
Qt: selector cosmetic polish
authorJakob Leben <jleben@videolan.org>
Wed, 10 Feb 2010 06:21:12 +0000 (07:21 +0100)
committerJakob Leben <jleben@videolan.org>
Wed, 10 Feb 2010 06:21:12 +0000 (07:21 +0100)
modules/gui/qt4/components/playlist/selector.cpp
modules/gui/qt4/components/playlist/selector.hpp
modules/gui/qt4/util/customwidgets.hpp

index 7af9b34b1b9a7da771aa28f449c69199731dd7ad..f0ce539b8c066b061867f95323d704b7dbeff699 100644 (file)
 #include <vlc_playlist.h>
 #include <vlc_services_discovery.h>
 
+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 );
index ab3c503a07a222e8e9818a6164dc218598d59c36..e9ea01741d61197c142e9acb76acab321c1bad0c 100644 (file)
 #include <QPushButton>
 #include <QLabel>
 #include <QHBoxLayout>
+#include "util/customwidgets.hpp"
 
 #include <vlc_playlist.h>
 
 #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;
index b7d843ab2a361ee3a8d3bde987fccddd69c75918..77d57651a673d46966a742857fdfc9a5909a2a6f 100644 (file)
@@ -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;