Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
6e670ff2
Commit
6e670ff2
authored
Aug 26, 2006
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Volume control
parent
159fa24a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
2 deletions
+61
-2
modules/gui/qt4/main_interface.cpp
modules/gui/qt4/main_interface.cpp
+32
-0
modules/gui/qt4/main_interface.hpp
modules/gui/qt4/main_interface.hpp
+29
-2
No files found.
modules/gui/qt4/main_interface.cpp
View file @
6e670ff2
...
...
@@ -59,6 +59,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
ui
.
stopButton
->
setIcon
(
QIcon
(
":/pixmaps/stop.png"
)
);
ui
.
volLowLabel
->
setPixmap
(
QPixmap
(
":/pixmaps/volume-low.png"
)
);
ui
.
volHighLabel
->
setPixmap
(
QPixmap
(
":/pixmaps/volume-high.png"
)
);
ui
.
volumeSlider
->
setMaximum
(
100
);
VolumeClickHandler
*
h
=
new
VolumeClickHandler
(
this
);
ui
.
volLowLabel
->
installEventFilter
(
h
);
ui
.
volHighLabel
->
installEventFilter
(
h
);
QVLCMenu
::
createMenuBar
(
menuBar
(),
p_intf
);
...
...
@@ -99,6 +104,10 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Init input manager */
MainInputManager
::
getInstance
(
p_intf
);
/* Volume control */
connect
(
ui
.
volumeSlider
,
SIGNAL
(
valueChanged
(
int
)
),
this
,
SLOT
(
updateVolume
(
int
)
)
);
/* Get timer updates */
connect
(
THEDP
->
fixed_timer
,
SIGNAL
(
timeout
()
),
this
,
SLOT
(
updateOnTimer
()
)
);
...
...
@@ -197,12 +206,25 @@ void MainInterface::setStatus( int status )
ui
.
playButton
->
setIcon
(
QIcon
(
":/pixmaps/play.png"
)
);
}
static
bool
b_my_volume
;
void
MainInterface
::
updateOnTimer
()
{
if
(
p_intf
->
b_die
)
{
QApplication
::
quit
();
}
audio_volume_t
i_volume
;
aout_VolumeGet
(
p_intf
,
&
i_volume
);
i_volume
=
(
i_volume
*
200
)
/
AOUT_VOLUME_MAX
;
int
i_gauge
=
ui
.
volumeSlider
->
value
();
b_my_volume
=
false
;
if
(
i_volume
-
i_gauge
>
1
||
i_gauge
-
i_volume
>
1
)
{
b_my_volume
=
true
;
ui
.
volumeSlider
->
setValue
(
i_volume
);
b_my_volume
=
false
;
}
}
void
MainInterface
::
closeEvent
(
QCloseEvent
*
e
)
...
...
@@ -211,6 +233,16 @@ void MainInterface::closeEvent( QCloseEvent *e )
p_intf
->
b_die
=
VLC_TRUE
;
}
void
MainInterface
::
updateVolume
(
int
sliderVolume
)
{
if
(
!
b_my_volume
)
{
int
i_res
=
sliderVolume
*
AOUT_VOLUME_MAX
/
(
2
*
ui
.
volumeSlider
->
maximum
()
);
aout_VolumeSet
(
p_intf
,
i_res
);
}
}
static
int
InteractCallback
(
vlc_object_t
*
p_this
,
const
char
*
psz_var
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
)
...
...
modules/gui/qt4/main_interface.hpp
View file @
6e670ff2
...
...
@@ -24,6 +24,7 @@
#define _MAIN_INTERFACE_H_
#include <vlc/intf.h>
#include <vlc/aout.h>
#include "ui/main_interface.h"
#include "util/qvlcframe.hpp"
...
...
@@ -32,7 +33,7 @@ class QLabel;
class
InputManager
;
class
InputSlider
;
class
VideoWidget
;
class
VolumeClickHandler
;
class
MainInterface
:
public
QVLCMW
{
Q_OBJECT
;
...
...
@@ -46,6 +47,8 @@ public:
protected:
void
closeEvent
(
QCloseEvent
*
);
Ui
::
MainInterfaceUI
ui
;
friend
class
VolumeClickHandler
;
private:
VideoWidget
*
videoWidget
;
InputManager
*
main_input_manager
;
...
...
@@ -54,7 +57,6 @@ private:
InputSlider
*
slider
;
/// Main input associated to the playlist
input_thread_t
*
p_input
;
Ui
::
MainInterfaceUI
ui
;
private
slots
:
void
setStatus
(
int
);
void
setName
(
QString
);
...
...
@@ -64,6 +66,31 @@ private slots:
void
stop
();
void
prev
();
void
next
();
void
updateVolume
(
int
sliderVolume
);
};
class
VolumeClickHandler
:
public
QObject
{
public:
VolumeClickHandler
(
MainInterface
*
_m
)
:
QObject
(
_m
)
{
m
=
_m
;
}
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
);
return
true
;
}
return
false
;
}
private:
MainInterface
*
m
;
};
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment