Commit 834bd870 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4: Fight against Windows FS controller, one more round.

parent af5da01c
...@@ -1021,6 +1021,9 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, ...@@ -1021,6 +1021,9 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i,
b_slow_hide_begin(false), i_slow_hide_timeout(1), b_slow_hide_begin(false), i_slow_hide_timeout(1),
b_fullscreen( false ), i_hide_timeout( 1 ), p_vout(NULL) b_fullscreen( false ), i_hide_timeout( 1 ), p_vout(NULL)
{ {
i_mouse_last_move_x = -1;
i_mouse_last_move_y = -1;
setWindowFlags( Qt::ToolTip ); setWindowFlags( Qt::ToolTip );
setFrameShape( QFrame::StyledPanel ); setFrameShape( QFrame::StyledPanel );
...@@ -1191,9 +1194,7 @@ void FullscreenControllerWidget::customEvent( QEvent *event ) ...@@ -1191,9 +1194,7 @@ void FullscreenControllerWidget::customEvent( QEvent *event )
{ {
bool b_fs; bool b_fs;
#ifndef NDEBUG
msg_Dbg( p_intf, "New FSC event: %i", event->type() ); msg_Dbg( p_intf, "New FSC event: %i", event->type() );
#endif
switch( event->type() ) switch( event->type() )
{ {
...@@ -1325,7 +1326,39 @@ static int FullscreenControllerWidgetMouseMoved( vlc_object_t *vlc_object, const ...@@ -1325,7 +1326,39 @@ static int FullscreenControllerWidgetMouseMoved( vlc_object_t *vlc_object, const
{ {
FullscreenControllerWidget *p_fs = (FullscreenControllerWidget *)data; FullscreenControllerWidget *p_fs = (FullscreenControllerWidget *)data;
msg_Dbg( p_fs->p_vout, "Qt4: The mouse has moved" ); int i_mousex, i_mousey;
bool b_toShow = false;
/* Get the value from the Vout - Trust the vout more than Qt */
i_mousex = var_GetInteger( p_fs->p_vout, "mouse-x" );
i_mousey = var_GetInteger( p_fs->p_vout, "mouse-y" );
msg_Dbg( p_fs->p_vout, "Qt4: The mouse has moved: %i %i",
i_mousex, i_mousey );
/* First time */
if( p_fs->i_mouse_last_move_x == -1 || p_fs->i_mouse_last_move_y == -1 )
{
p_fs->i_mouse_last_move_x = i_mousex;
p_fs->i_mouse_last_move_y = i_mousey;
b_toShow = true;
}
/* All other times */
else
{
msg_Dbg( p_fs->p_vout, "%i %i",
abs( p_fs->i_mouse_last_move_x - i_mousex ),
abs( p_fs->i_mouse_last_move_y - i_mousey ) );
if( abs( p_fs->i_mouse_last_move_x - i_mousex ) > 1 ||
abs( p_fs->i_mouse_last_move_y - i_mousey ) > 1 )
{
b_toShow = true;
p_fs->i_mouse_last_move_x = i_mousex;
p_fs->i_mouse_last_move_y = i_mousey;
}
}
if( b_toShow )
{
/* Show event */ /* Show event */
IMEvent *eShow = new IMEvent( FullscreenControlShow_Type, 0 ); IMEvent *eShow = new IMEvent( FullscreenControlShow_Type, 0 );
QApplication::postEvent( p_fs, static_cast<QEvent *>(eShow) ); QApplication::postEvent( p_fs, static_cast<QEvent *>(eShow) );
...@@ -1333,6 +1366,7 @@ static int FullscreenControllerWidgetMouseMoved( vlc_object_t *vlc_object, const ...@@ -1333,6 +1366,7 @@ static int FullscreenControllerWidgetMouseMoved( vlc_object_t *vlc_object, const
/* Plan hide event */ /* Plan hide event */
IMEvent *eHide = new IMEvent( FullscreenControlPlanHide_Type, 0 ); IMEvent *eHide = new IMEvent( FullscreenControlPlanHide_Type, 0 );
QApplication::postEvent( p_fs, static_cast<QEvent *>(eHide) ); QApplication::postEvent( p_fs, static_cast<QEvent *>(eHide) );
}
return VLC_SUCCESS; return VLC_SUCCESS;
} }
......
...@@ -254,6 +254,9 @@ public: ...@@ -254,6 +254,9 @@ public:
void fullscreenChanged( vout_thread_t *, bool b_fs, int i_timeout ); void fullscreenChanged( vout_thread_t *, bool b_fs, int i_timeout );
vout_thread_t *p_vout; vout_thread_t *p_vout;
int i_mouse_last_move_x;
int i_mouse_last_move_y;
protected: protected:
friend class MainInterface; friend class MainInterface;
friend class VolumeClickHandler; friend class VolumeClickHandler;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment