****************************************************************************
* 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
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
+