Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Steve Lhomme
VLC
Commits
5aebc3b8
Commit
5aebc3b8
authored
Aug 31, 2007
by
Jean-Baptiste Kempf
Browse files
Qt4 - Main Interface: Advanced buttons are correctly integrated, cosmetic,
cleanup and fixes.
parent
ac443292
Changes
4
Hide whitespace changes
Inline
Side-by-side
modules/gui/qt4/components/interface_widgets.cpp
View file @
5aebc3b8
...
...
@@ -209,27 +209,54 @@ void VisualSelector::next()
}
/**********************************************************************
*
More
controls
*
TEH
controls
**********************************************************************/
#define setupSmallButton( aButton ){ \
aButton->setMaximumSize( QSize( 26, 26 ) ); \
aButton->setMinimumSize( QSize( 26, 26 ) ); \
aButton->setIconSize( QSize( 20, 20 ) ); }
AdvControlsWidget
::
AdvControlsWidget
(
intf_thread_t
*
_p_i
)
:
QFrame
(
NULL
),
p_intf
(
_p_i
)
{
QHBoxLayout
*
layout
=
new
QHBoxLayout
(
this
);
layout
->
setMargin
(
0
);
QHBoxLayout
*
advLayout
=
new
QHBoxLayout
(
this
);
advLayout
->
setMargin
(
0
);
advLayout
->
setSpacing
(
0
);
normalButton
=
new
QPushButton
(
"N"
);
BUTTON_SET_ACT
(
normalButton
,
"N"
,
qtr
(
"Normal rate"
),
normal
()
);
layout
->
addWidget
(
normalButton
);
normalButton
->
setMaximumWidth
(
35
);
layout
->
addItem
(
new
QSpacerItem
(
100
,
20
,
QSizePolicy
::
Expanding
,
QSizePolicy
::
Minimum
)
);
/* FIXME A to B function */
ABButton
=
new
QPushButton
(
"AB"
);
ABButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
ABButton
->
setIconSize
(
QSize
(
20
,
20
)
);
advLayout
->
addWidget
(
ABButton
);
BUTTON_SET_ACT
(
ABButton
,
"AB"
,
qtr
(
"A to B"
),
normal
()
);
snapshotButton
=
new
QPushButton
(
"S"
);
snapshotButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
snapshotButton
->
setIconSize
(
QSize
(
20
,
20
)
);
advLayout
->
addWidget
(
snapshotButton
);
BUTTON_SET_ACT
(
snapshotButton
,
"S"
,
qtr
(
"Take a snapshot"
),
snapshot
()
);
layout
->
addWidget
(
snapshotButton
);
snapshotButton
->
setMaximumWidth
(
35
);
//FIXME Frame by frame function
frameButton
=
new
QPushButton
(
"Fr"
);
frameButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
frameButton
->
setIconSize
(
QSize
(
20
,
20
)
);
advLayout
->
addWidget
(
frameButton
);
BUTTON_SET_ACT
(
frameButton
,
"Fr"
,
qtr
(
"Frame by Frame"
),
frame
()
);
/* FIXME Record function */
recordButton
=
new
QPushButton
(
"R"
);
recordButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
recordButton
->
setIconSize
(
QSize
(
20
,
20
)
);
advLayout
->
addWidget
(
recordButton
);
BUTTON_SET_ACT
(
recordButton
,
"R"
,
qtr
(
"Record"
),
record
()
);
normalButton
=
new
QPushButton
(
"N"
);
normalButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
normalButton
->
setIconSize
(
QSize
(
20
,
20
)
);
advLayout
->
addWidget
(
normalButton
);
BUTTON_SET_ACT
(
normalButton
,
"N"
,
qtr
(
"Normal rate"
),
normal
()
);
}
AdvControlsWidget
::~
AdvControlsWidget
()
...
...
@@ -239,12 +266,15 @@ AdvControlsWidget::~AdvControlsWidget()
void
AdvControlsWidget
::
enableInput
(
bool
enable
)
{
// slowerButton->setEnabled( enable );
ABButton
->
setEnabled
(
enable
);
recordButton
->
setEnabled
(
enable
);
normalButton
->
setEnabled
(
enable
);
// fasterButton->setEnabled( enable );
}
void
AdvControlsWidget
::
enableVideo
(
bool
enable
)
{
snapshotButton
->
setEnabled
(
enable
);
frameButton
->
setEnabled
(
enable
);
//fullscreenButton->setEnabled( enable );
}
...
...
@@ -261,12 +291,24 @@ void AdvControlsWidget::fullscreen()
{
}
ControlsWidget
::
ControlsWidget
(
intf_thread_t
*
_p_i
)
:
void
AdvControlsWidget
::
frame
(){}
void
AdvControlsWidget
::
record
(){}
/*****************************
* DA Control Widget !
*****************************/
ControlsWidget
::
ControlsWidget
(
intf_thread_t
*
_p_i
,
bool
b_advControls
)
:
QFrame
(
NULL
),
p_intf
(
_p_i
)
{
//QSize size( 500, 200 );
//resize( size );
controlLayout
=
new
QGridLayout
(
this
);
#if 1 || DEBUG_COLOR
QPalette
palette2
;
palette2
.
setColor
(
this
->
backgroundRole
(),
Qt
::
magenta
);
setPalette
(
palette2
);
#endif
/** The main Slider **/
slider
=
new
InputSlider
(
Qt
::
Horizontal
,
NULL
);
...
...
@@ -290,33 +332,42 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
fasterButton
->
setMaximumSize
(
QSize
(
26
,
20
)
);
/** TODO: Insert here the AdvControls Widget
* and add - A->B button
* - frame by frame
* - record button
* and put the snapshot in the same QFrame
* Then fix all the size issues in main_interface.cpp
**/
/* advanced Controls handling */
b_advancedVisible
=
b_advControls
;
advControls
=
new
AdvControlsWidget
(
p_intf
);
controlLayout
->
addWidget
(
advControls
,
1
,
3
,
2
,
5
,
Qt
::
AlignBottom
);
if
(
!
b_advancedVisible
)
advControls
->
hide
();
//THIS should be removed. need_components_update = true;
/** Disc and Menus handling */
discFrame
=
new
QFrame
(
this
);
QHBoxLayout
*
discLayout
=
new
QHBoxLayout
(
discFrame
);
QPushButton
*
menuButton
=
new
QPushButton
(
discFrame
);
discLayout
->
addWidget
(
menuButton
);
QHBoxLayout
*
discLayout
=
new
QHBoxLayout
(
discFrame
);
discLayout
->
setSpacing
(
0
);
discLayout
->
setMargin
(
0
);
QPushButton
*
prevSectionButton
=
new
QPushButton
(
discFrame
);
setupSmallButton
(
prevSectionButton
);
discLayout
->
addWidget
(
prevSectionButton
);
QPushButton
*
menuButton
=
new
QPushButton
(
discFrame
);
setupSmallButton
(
menuButton
);
discLayout
->
addWidget
(
menuButton
);
QPushButton
*
nextSectionButton
=
new
QPushButton
(
discFrame
);
setupSmallButton
(
nextSectionButton
);
discLayout
->
addWidget
(
nextSectionButton
);
controlLayout
->
addWidget
(
discFrame
,
1
,
1
3
,
1
,
4
);
controlLayout
->
addWidget
(
discFrame
,
1
,
1
0
,
2
,
4
,
Qt
::
AlignBottom
);
BUTTON_SET_IMG
(
prevSectionButton
,
""
,
previous
.
png
,
""
);
BUTTON_SET_IMG
(
nextSectionButton
,
""
,
next
.
png
,
""
);
BUTTON_SET_IMG
(
menuButton
,
""
,
previous
.
png
,
""
);
discFrame
->
hide
();
//
discFrame->hide();
/* Change the navigation button display when the IM navigation changes */
CONNECT
(
THEMIM
->
getIM
(),
navigationChanged
(
int
),
...
...
@@ -345,7 +396,7 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
playButton
->
setMaximumSize
(
QSize
(
45
,
45
)
);
playButton
->
setIconSize
(
QSize
(
30
,
30
)
);
controlLayout
->
addWidget
(
playButton
,
2
,
0
,
2
,
2
);
controlLayout
->
addWidget
(
playButton
,
2
,
0
,
2
,
2
,
Qt
::
AlignBottom
);
/** Prev + Stop + Next Block **/
QHBoxLayout
*
controlButLayout
=
new
QHBoxLayout
;
...
...
@@ -354,24 +405,21 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
/* Prev */
QPushButton
*
prevButton
=
new
QPushButton
;
prevButton
->
setSizePolicy
(
sizePolicy
);
prevButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
prevButton
->
setIconSize
(
QSize
(
20
,
20
)
);
setupSmallButton
(
prevButton
);
controlButLayout
->
addWidget
(
prevButton
);
/* Stop */
QPushButton
*
stopButton
=
new
QPushButton
;
stopButton
->
setSizePolicy
(
sizePolicy
);
stopButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
stopButton
->
setIconSize
(
QSize
(
20
,
20
)
);
setupSmallButton
(
stopButton
);
controlButLayout
->
addWidget
(
stopButton
);
/* next */
QPushButton
*
nextButton
=
new
QPushButton
;
nextButton
->
setSizePolicy
(
sizePolicy
);
nextButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
nextButton
->
setIconSize
(
QSize
(
20
,
20
)
);
setupSmallButton
(
nextButton
);
controlButLayout
->
addWidget
(
nextButton
);
...
...
@@ -392,13 +440,12 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
/** Fullscreen/Visualisation **/
fullscreenButton
=
new
QPushButton
(
"F"
);
BUTTON_SET_ACT
(
fullscreenButton
,
"F"
,
qtr
(
"Fullscreen"
),
fullscreen
()
);
fullscreenButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
setupSmallButton
(
fullscreenButton
);
controlLayout
->
addWidget
(
fullscreenButton
,
3
,
10
);
/** Playlist Button **/
playlistButton
=
new
QPushButton
;
playlistButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
playlistButton
->
setIconSize
(
QSize
(
20
,
20
)
);
setupSmallButton
(
playlistButton
);
controlLayout
->
addWidget
(
playlistButton
,
3
,
11
);
...
...
@@ -406,13 +453,14 @@ ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
QPushButton
*
extSettingsButton
=
new
QPushButton
(
"F"
);
BUTTON_SET_ACT
(
extSettingsButton
,
"Ex"
,
qtr
(
"Extended Settings"
),
extSettings
()
);
extSettingsButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
setupSmallButton
(
extSettingsButton
);
controlLayout
->
addWidget
(
extSettingsButton
,
3
,
12
);
/** Preferences **/
QPushButton
*
prefsButton
=
new
QPushButton
(
"P"
);
BUTTON_SET_ACT
(
prefsButton
,
"P"
,
qtr
(
"Preferences / Settings"
),
prefs
()
);
prefsButton
->
setMaximumSize
(
QSize
(
26
,
26
)
);
BUTTON_SET_ACT
(
prefsButton
,
"P"
,
qtr
(
"Preferences / Settings"
),
prefs
()
);
setupSmallButton
(
prefsButton
);
controlLayout
->
addWidget
(
prefsButton
,
3
,
13
);
/* Volume */
...
...
@@ -458,6 +506,7 @@ void ControlsWidget::play()
if
(
playlist_IsEmpty
(
THEPL
)
)
{
/* The playlist is empty, open a file requester */
msg_Dbg
(
p_intf
,
"Nothing to play yet, open a file"
);
THEDP
->
openFileDialog
();
setStatus
(
0
);
return
;
...
...
@@ -528,6 +577,9 @@ void ControlsWidget::updateOnTimer()
volumeSlider
->
setValue
(
i_volume
);
b_my_volume
=
false
;
}
enableInput
(
THEMIM
->
getIM
()
->
hasInput
()
);
enableVideo
(
THEMIM
->
getIM
()
->
hasVideo
()
);
}
/* FIXME */
...
...
@@ -580,14 +632,35 @@ void ControlsWidget::enableInput( bool enable )
slowerButton
->
setEnabled
(
enable
);
slider
->
setEnabled
(
enable
);
fasterButton
->
setEnabled
(
enable
);
/* Advanced Buttons too */
advControls
->
enableInput
(
enable
);
}
void
ControlsWidget
::
enableVideo
(
bool
enable
)
{
// TODO Later make the fullscreenButton toggle Visualisation and so on.
fullscreenButton
->
setEnabled
(
enable
);
/* Advanced Buttons too */
advControls
->
enableVideo
(
enable
);
}
void
ControlsWidget
::
toggleAdvanced
()
{
if
(
!
VISIBLE
(
advControls
)
)
{
advControls
->
show
();
b_advancedVisible
=
true
;
}
else
{
advControls
->
hide
();
b_advancedVisible
=
false
;
}
//FIXME connect this one :D
emit
advancedControlsShowed
(
b_advancedVisible
);
// doComponentsUpdate();
}
/**********************************************************************
* Playlist Widget. The embedded playlist
...
...
modules/gui/qt4/components/interface_widgets.hpp
View file @
5aebc3b8
...
...
@@ -114,12 +114,14 @@ public:
void
enableVideo
(
bool
);
private:
intf_thread_t
*
p_intf
;
QPushButton
*
normalButton
;
QPushButton
*
snapshotButton
;
QPushButton
*
normalButton
,
*
recordButton
,
*
ABButton
;
QPushButton
*
snapshotButton
,
*
frameButton
;
private
slots
:
void
normal
();
void
snapshot
();
void
fullscreen
();
void
frame
();
void
record
();
};
class
InputSlider
;
...
...
@@ -130,7 +132,7 @@ class ControlsWidget : public QFrame
{
Q_OBJECT
public:
ControlsWidget
(
intf_thread_t
*
);
ControlsWidget
(
intf_thread_t
*
,
bool
);
virtual
~
ControlsWidget
();
QPushButton
*
playlistButton
;
...
...
@@ -145,13 +147,16 @@ protected:
friend
class
MainInterface
;
friend
class
VolumeClickHandler
;
private:
intf_thread_t
*
p_intf
;
QFrame
*
discFrame
;
QGridLayout
*
controlLayout
;
intf_thread_t
*
p_intf
;
QFrame
*
discFrame
;
QGridLayout
*
controlLayout
;
InputSlider
*
slider
;
QPushButton
*
prevSectionButton
,
*
nextSectionButton
,
*
menuButton
;
QPushButton
*
playButton
,
*
fullscreenButton
;
QPushButton
*
slowerButton
,
*
fasterButton
;
QPushButton
*
prevSectionButton
,
*
nextSectionButton
,
*
menuButton
;
QPushButton
*
playButton
,
*
fullscreenButton
;
QPushButton
*
slowerButton
,
*
fasterButton
;
AdvControlsWidget
*
advControls
;
bool
b_advancedVisible
;
private
slots
:
void
play
();
void
stop
();
...
...
@@ -163,6 +168,9 @@ private slots:
void
prefs
();
void
faster
();
void
slower
();
void
toggleAdvanced
();
signals:
void
advancedControlsShowed
(
bool
);
};
class
VolumeClickHandler
:
public
QObject
...
...
modules/gui/qt4/main_interface.cpp
View file @
5aebc3b8
...
...
@@ -52,11 +52,9 @@
#define PREF_H 121
#else
#define PREF_W 450
#define PREF_H 1
25
#define PREF_H 1
60
#endif
#define VISIBLE(i) (i && i->isVisible())
#define SET_WIDTH(i,j) i->widgetSize.setWidth(j)
#define SET_HEIGHT(i,j) i->widgetSize.setHeight(j)
#define SET_WH( i,j,k) i->widgetSize.setWidth(j); i->widgetSize.setHeight(k);
...
...
@@ -93,8 +91,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
need_components_update
=
false
;
bgWidget
=
NULL
;
videoWidget
=
NULL
;
playlistWidget
=
NULL
;
embeddedPlaylistWasActive
=
videoIsActive
=
false
;
bool
b_createSystray
=
false
;
input_name
=
""
;
/**
...
...
@@ -119,31 +115,24 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Set the other interface settings */
playlistEmbeddedFlag
=
settings
->
value
(
"playlist-embedded"
,
true
).
toBool
();
advControlsEnabled
=
settings
->
value
(
"adv-controls"
,
false
).
toBool
();
visualSelectorEnabled
=
settings
->
value
(
"visual-selector"
,
false
).
toBool
();
#if DEBUG_COLOR
QPalette
palette2
;
palette2
.
setColor
(
this
->
backgroundRole
(),
Qt
::
magenta
);
setPalette
(
palette2
);
#endif
/**
* UI design
**/
/**************************
* UI and Widgets design
**************************/
setVLCWindowsTitle
();
handleMainUi
(
settings
);
/* Menu Bar */
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
playlistEmbeddedFlag
,
advControlsEna
ble
d
,
visualSelectorEnabled
);
isAdvancedVisi
ble
()
,
visualSelectorEnabled
);
/* Status Bar */
/**
* TODO: clicking on the elapsed time should switch to the remaining time
**/
/**
* TODO: do we add a label for the current Volume
* TODO: do we add a label for the current Volume
?
**/
timeLabel
=
new
QLabel
;
nameLabel
=
new
QLabel
;
...
...
@@ -160,16 +149,25 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
CONNECT
(
timeLabel
,
customContextMenuRequested
(
QPoint
),
this
,
showTimeMenu
(
QPoint
)
);
/* Systray */
/**********************
* Systray Management *
**********************/
sysTray
=
NULL
;
bool
b_createSystray
=
false
;
bool
b_systrayAvailable
=
QSystemTrayIcon
::
isSystemTrayAvailable
();
if
(
config_GetInt
(
p_intf
,
"qt-start-minimized"
)
)
{
hide
();
b_createSystray
=
true
;
if
(
b_systrayAvailable
){
b_createSystray
=
true
;
hide
();
//FIXME
}
else
msg_Warn
(
p_intf
,
"You can't minize if you haven't a system "
"tray bar"
);
}
if
(
config_GetInt
(
p_intf
,
"qt-system-tray"
)
)
b_createSystray
=
true
;
if
(
QSystemTrayIcon
::
isSystemTrayAvailable
()
&&
b_createSystray
)
if
(
b_systrayAvailable
&&
b_createSystray
)
createSystray
();
/* Init input manager */
...
...
@@ -177,30 +175,35 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
ON_TIMEOUT
(
updateOnTimer
()
);
/**
* CONNECTs
*
Various
CONNECTs
**/
/* Connect the input manager to the GUI elements it manages */
/* It is also connected to the control->slider */
/* It is also connected to the control->slider
, see the ControlsWidget
*/
CONNECT
(
THEMIM
->
getIM
(),
positionUpdated
(
float
,
int
,
int
),
this
,
setDisplay
(
float
,
int
,
int
)
);
/* Naming in the controller */
/** Connects on nameChanged() */
/* Naming in the controller statusbar */
CONNECT
(
THEMIM
->
getIM
(),
nameChanged
(
QString
),
this
,
setName
(
QString
)
);
/* and in the systray */
if
(
sysTray
)
{
CONNECT
(
THEMIM
->
getIM
(),
nameChanged
(
QString
),
this
,
updateSystrayTooltipName
(
QString
)
);
}
/* and in the title of the controller */
if
(
config_GetInt
(
p_intf
,
"qt-name-in-title"
)
)
{
CONNECT
(
THEMIM
->
getIM
(),
nameChanged
(
QString
),
this
,
setVLCWindowsTitle
(
QString
)
);
}
/* PLAY_STATUS */
/** CONNECTS on PLAY_STATUS **/
/* Status on the main controller */
CONNECT
(
THEMIM
->
getIM
(),
statusChanged
(
int
),
this
,
setStatus
(
int
)
);
/* and in the systray */
if
(
sysTray
)
{
CONNECT
(
THEMIM
->
getIM
(),
statusChanged
(
int
),
this
,
...
...
@@ -238,7 +241,7 @@ MainInterface::~MainInterface()
}
settings
->
setValue
(
"playlist-embedded"
,
playlistEmbeddedFlag
);
settings
->
setValue
(
"adv-controls"
,
advControlsEna
ble
d
);
settings
->
setValue
(
"adv-controls"
,
isAdvancedVisi
ble
()
);
settings
->
setValue
(
"pos"
,
pos
()
);
settings
->
endGroup
();
delete
settings
;
...
...
@@ -272,6 +275,7 @@ void MainInterface::setVLCWindowsTitle( QString aTitle )
void
MainInterface
::
handleMainUi
(
QSettings
*
settings
)
{
/* Create the main Widget and the mainLayout */
QWidget
*
main
=
new
QWidget
(
this
);
mainLayout
=
new
QVBoxLayout
(
main
);
setCentralWidget
(
main
);
...
...
@@ -280,36 +284,24 @@ void MainInterface::handleMainUi( QSettings *settings )
main
->
setContentsMargins
(
0
,
0
,
0
,
0
);
mainLayout
->
setMargin
(
0
);
/* CONTROLS */
controls
=
new
ControlsWidget
(
p_intf
);
/* Create the CONTROLS Widget */
controls
=
new
ControlsWidget
(
p_intf
,
settings
->
value
(
"adv-controls"
,
false
).
toBool
()
);
/* Configure the
UI
*/
/* Configure the
Controls
*/
BUTTON_SET_IMG
(
controls
->
playlistButton
,
""
,
playlist_icon
.
png
,
playlistEmbeddedFlag
?
qtr
(
"Show playlist"
)
:
qtr
(
"Open playlist"
)
);
BUTTONACT
(
controls
->
playlistButton
,
playlist
()
);
#if DEBUG_COLOR
QPalette
palette
;
palette
.
setColor
(
main
->
backgroundRole
(),
Qt
::
green
);
main
->
setPalette
(
palette
);
#endif
playlistEmbeddedFlag
?
qtr
(
"Show playlist"
)
:
qtr
(
"Open playlist"
)
);
BUTTONACT
(
controls
->
playlistButton
,
togglePlaylist
()
);
/* Add the controls Widget */
/* Add the controls Widget
to the main Widget
*/
mainLayout
->
addWidget
(
controls
);
/* Set initial size */
resize
(
PREF_W
,
PREF_H
);
/* Set initial size */
resize
(
PREF_W
,
PREF_H
);
addSize
=
QSize
(
mainLayout
->
margin
()
*
2
,
PREF_H
);
/* advanced Controls handling */
advControls
=
new
AdvControlsWidget
(
p_intf
);
mainLayout
->
insertWidget
(
0
,
advControls
);
advControls
->
updateGeometry
();
if
(
!
advControlsEnabled
)
advControls
->
hide
();
need_components_update
=
true
;
/* Visualisation */
visualSelector
=
new
VisualSelector
(
p_intf
);
mainLayout
->
insertWidget
(
0
,
visualSelector
);
...
...
@@ -343,7 +335,7 @@ void MainInterface::handleMainUi( QSettings *settings )
}
/**********************************************************************
* Handling of the components
* Handling of
sizing of
the components
**********************************************************************/
void
MainInterface
::
calculateInterfaceSize
()
{
...
...
@@ -371,10 +363,10 @@ void MainInterface::calculateInterfaceSize()
}
if
(
VISIBLE
(
visualSelector
)
)
height
+=
visualSelector
->
height
();
if
(
VISIBLE
(
advControls
)
)
/*
if( VISIBLE( advControls) )
{
height += advControls->sizeHint().height();
}
}
*/
mainSize
=
QSize
(
width
+
addSize
.
width
(),
height
+
addSize
.
height
()
);
}
...
...
@@ -394,6 +386,7 @@ void MainInterface::resizeEvent( QResizeEvent *e )
playlistWidget
->
updateGeometry
();
}
}
/****************************************************************************
* Small right-click menus
****************************************************************************/
...
...
@@ -411,139 +404,9 @@ void MainInterface::showTimeMenu( QPoint pos )
menu
.
exec
(
QCursor
::
pos
()
);
}
/*****************************************************************************
* Systray Icon and Systray Menu
*****************************************************************************/
/**
* Create a SystemTray icon and a menu that would go with it.
* Connects to a click handler on the icon.
**/
void
MainInterface
::
createSystray
()
{
QIcon
iconVLC
=
QIcon
(
QPixmap
(
":/vlc128.png"
)
);
sysTray
=
new
QSystemTrayIcon
(
iconVLC
,
this
);
sysTray
->
setToolTip
(
qtr
(
"VLC media player"
));
systrayMenu
=
new
QMenu
(
qtr
(
"VLC media player"
),
this
);
systrayMenu
->
setIcon
(
iconVLC
);
QVLCMenu
::
updateSystrayMenu
(
this
,
p_intf
,
true
);
sysTray
->
show
();
CONNECT
(
sysTray
,
activated
(
QSystemTrayIcon
::
ActivationReason
),
this
,
handleSystrayClick
(
QSystemTrayIcon
::
ActivationReason
)
);
}
/**
* Update the menu of the Systray Icon.
* May be unneedded, since it just calls QVLCMenu::update
* FIXME !!!
**/
void
MainInterface
::
updateSystrayMenu
(
int
status
)
{
QVLCMenu
::
updateSystrayMenu
(
this
,
p_intf
)
;
}
/**
* Updates the Systray Icon's menu and toggle the main interface
*/
void
MainInterface
::
toggleUpdateSystrayMenu
()
{
if
(
isHidden
()
)
{
show
();
activateWindow
();
}
else
{
#ifdef WIN32
/* check if any visible window is above vlc in the z-order,
* but ignore the ones always on top */
WINDOWINFO
wi
;