#ifndef _MAIN_INTERFACE_H_
#define _MAIN_INTERFACE_H_
-#include <vlc/intf.h>
-#include <vlc/aout.h>
+#include "qt4.hpp"
+#include <vlc_aout.h>
#include "ui/main_interface.h"
#include "util/qvlcframe.hpp"
class QCloseEvent;
class QKeyEvent;
class QLabel;
-
+class QEvent;
class InputManager;
class InputSlider;
class VideoWidget;
class PlaylistWidget;
class VolumeClickHandler;
class VisualSelector;
+class ControlsWidget;
class MainInterface : public QVLCMW
{
public:
MainInterface( intf_thread_t *);
virtual ~MainInterface();
-
-
void *requestVideo( vout_thread_t *p_nvout, int *pi_x,
int *pi_y, unsigned int *pi_width,
unsigned int *pi_height );
int controlVideo( void *p_window, int i_query, va_list args );
protected:
void resizeEvent( QResizeEvent * );
+ void dropEvent( QDropEvent *);
+ void dragEnterEvent( QDragEnterEvent * );
+ void dragMoveEvent( QDragMoveEvent * );
+ void dragLeaveEvent( QDragLeaveEvent * );
void closeEvent( QCloseEvent *);
Ui::MainInterfaceUI ui;
friend class VolumeClickHandler;
/* Video */
VideoWidget *videoWidget;
virtual void keyPressEvent( QKeyEvent *);
+ virtual void wheelEvent( QWheelEvent * );
+
+ bool embeddedPlaylistWasActive;
+ bool videoIsActive;
+ QSize savedVideoSize;
+
BackgroundWidget *bgWidget;
VisualSelector *visualSelector;
+ ControlsWidget *advControls;
PlaylistWidget *playlistWidget;
bool playlistEmbeddedFlag;
bool videoEmbeddedFlag;
+ bool alwaysVideoFlag;
+ bool advControlsEnabled;
+ bool visualSelectorEnabled;
InputManager *main_input_manager;
InputSlider *slider;
QLabel *timeLabel;
QLabel *nameLabel;
+
+ void customEvent( QEvent *);
+public slots:
+ void undockPlaylist();
private slots:
+ void setNavigation( int );
void setStatus( int );
void setName( QString );
void setDisplay( float, int, int );
void prev();
void next();
void playlist();
+ void visual();
+ void advanced();
void updateVolume( int sliderVolume );
};
class VolumeClickHandler : public QObject
{
public:
- VolumeClickHandler( MainInterface *_m ) :QObject(_m) {m = _m; }
+ VolumeClickHandler( intf_thread_t *_p_intf, MainInterface *_m ) :QObject(_m)
+ {m = _m; p_intf = _p_intf; }
virtual ~VolumeClickHandler() {};
bool eventFilter( QObject *obj, QEvent *e )
{
if (e->type() == QEvent::MouseButtonPress )
{
- if( obj->objectName() == "volLowLabel" )
- {
- m->ui.volumeSlider->setValue( 0 );
- }
- else
- m->ui.volumeSlider->setValue( 100 );
+ aout_VolumeMute( p_intf, NULL );
return true;
}
return false;
}
private:
MainInterface *m;
+ intf_thread_t *p_intf;
};
#endif