]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/util/customwidgets.hpp
Qt: selector cosmetic polish
[vlc] / modules / gui / qt4 / util / customwidgets.hpp
index 9a4d94b0182fa07d1eecb35972ced4538b58aaa7..77d57651a673d46966a742857fdfc9a5909a2a6f 100644 (file)
@@ -3,7 +3,7 @@
  ****************************************************************************
  * Copyright (C) 2006 the VideoLAN team
  * Copyright (C) 2004 Daniel Molkentin <molkentin@kde.org>
- * $Id: qvlcframe.hpp 16283 2006-08-17 18:16:09Z zorglub $
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  * The "ClickLineEdit" control is based on code by  Daniel Molkentin
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
 
 #ifndef _CUSTOMWIDGETS_H_
 #define _CUSTOMWIDGETS_H_
 
 #include <QLineEdit>
+#include <QPushButton>
 
 /**
   This class provides a QLineEdit which contains a greyed-out hinting
@@ -55,38 +57,51 @@ private:
     bool mDrawClickMsg;
 };
 
-/*****************************************************************
- * Custom views
- *****************************************************************/
-#include <QMouseEvent>
-#include <QTreeView>
-#include <QCursor>
-#include <QPoint>
-#include <QModelIndex>
-
-class QVLCTreeView : public QTreeView
+class QVLCFramelessButton : public QPushButton
 {
     Q_OBJECT;
 public:
-    QVLCTreeView( QWidget * parent ) : QTreeView( parent )
-    {
-    };
-    virtual ~QVLCTreeView()   {};
+    QVLCFramelessButton( QWidget *parent = NULL );
+    QSize sizeHint() const;
+protected:
+    virtual void paintEvent( QPaintEvent * event );
+};
+
+class QLabel;
+
+class SearchLineEdit : public QLineEdit
+{
+    Q_OBJECT
+public:
+    SearchLineEdit( QWidget *parent = NULL );
+
+private:
+    void resizeEvent ( QResizeEvent * event );
+    void focusInEvent( QFocusEvent *event );
+    void focusOutEvent( QFocusEvent *event );
+    void paintEvent( QPaintEvent *event );
+    void setMessageVisible( bool on );
+    QVLCFramelessButton   *clearButton;
+    bool message;
+    QLabel *msg;
+
+public slots:
+    void clear();
 
-    void mouseReleaseEvent(QMouseEvent* e )
-    {
-        if( e->button() & Qt::RightButton )
-        {
-            emit rightClicked( indexAt( QPoint( e->x(), e->y() ) ),
-                               QCursor::pos() );
-        }
-    }
-signals:
-    void rightClicked( QModelIndex, QPoint  );
+private slots:
+    void updateText( const QString& );
 };
 
+/* VLC Key/Wheel hotkeys interactions */
+
 class QKeyEvent;
+class QWheelEvent;
+class QInputEvent;
+
+int qtKeyModifiersToVLC( QInputEvent* e );
 int qtEventToVLCKey( QKeyEvent *e );
+int qtWheelEventToVLCKey( QWheelEvent *e );
 QString VLCKeyToString( int val );
 
 #endif
+