Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
35733acc
Commit
35733acc
authored
Apr 22, 2013
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Qt: adapt menus to new Audio Device list
parent
c957debc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
3 deletions
+59
-3
modules/gui/qt4/input_manager.cpp
modules/gui/qt4/input_manager.cpp
+14
-0
modules/gui/qt4/input_manager.hpp
modules/gui/qt4/input_manager.hpp
+6
-0
modules/gui/qt4/menus.cpp
modules/gui/qt4/menus.cpp
+36
-2
modules/gui/qt4/menus.hpp
modules/gui/qt4/menus.hpp
+3
-1
No files found.
modules/gui/qt4/input_manager.cpp
View file @
35733acc
...
...
@@ -39,6 +39,7 @@
#include <QApplication>
#include <QFile>
#include <QDir>
#include <QSignalMapper>
#include <assert.h>
...
...
@@ -999,6 +1000,10 @@ MainInputManager::MainInputManager( intf_thread_t *_p_intf )
p_input
=
playlist_CurrentInput
(
pl_Get
(
p_intf
)
);
if
(
p_input
)
emit
inputChanged
(
p_input
);
/* Audio Menu */
menusAudioMapper
=
new
QSignalMapper
();
CONNECT
(
menusAudioMapper
,
mapped
(
QString
),
this
,
menusUpdateAudio
(
QString
)
);
}
MainInputManager
::~
MainInputManager
()
...
...
@@ -1015,6 +1020,8 @@ MainInputManager::~MainInputManager()
var_DelCallback
(
THEPL
,
"playlist-item-append"
,
PLItemAppended
,
this
);
var_DelCallback
(
THEPL
,
"playlist-item-deleted"
,
PLItemRemoved
,
this
);
delete
menusAudioMapper
;
}
vout_thread_t
*
MainInputManager
::
getVout
()
...
...
@@ -1218,6 +1225,12 @@ void MainInputManager::notifyMute( bool mute )
emit
soundMuteChanged
(
mute
);
}
void
MainInputManager
::
menusUpdateAudio
(
const
QString
&
data
)
{
aout_DeviceSet
(
getAout
(),
qtu
(
data
)
);
}
static
int
PLItemAppended
(
vlc_object_t
*
obj
,
const
char
*
var
,
vlc_value_t
old
,
vlc_value_t
cur
,
void
*
data
)
{
...
...
@@ -1231,6 +1244,7 @@ static int PLItemAppended
QApplication
::
postEvent
(
mim
,
event
);
return
VLC_SUCCESS
;
}
static
int
PLItemRemoved
(
vlc_object_t
*
obj
,
const
char
*
var
,
vlc_value_t
old
,
vlc_value_t
cur
,
void
*
data
)
{
...
...
modules/gui/qt4/input_manager.hpp
View file @
35733acc
...
...
@@ -37,6 +37,7 @@
#include <QObject>
#include <QEvent>
class
QSignalMapper
;
enum
{
NORMAL
,
/* loop: 0, repeat: 0 */
REPEAT_ONE
,
/* loop: 0, repeat: 1 */
...
...
@@ -253,6 +254,7 @@ class MainInputManager : public QObject, public Singleton<MainInputManager>
{
Q_OBJECT
friend
class
Singleton
<
MainInputManager
>
;
friend
class
VLCMenuBar
;
public:
input_thread_t
*
getInput
()
{
return
p_input
;
}
...
...
@@ -270,6 +272,9 @@ public:
void
requestVoutUpdate
()
{
return
im
->
UpdateVout
();
}
protected:
QSignalMapper
*
menusAudioMapper
;
private:
MainInputManager
(
intf_thread_t
*
);
virtual
~
MainInputManager
();
...
...
@@ -301,6 +306,7 @@ private slots:
void
notifyRepeatLoop
(
bool
);
void
notifyVolume
(
float
);
void
notifyMute
(
bool
);
void
menusUpdateAudio
(
const
QString
&
);
signals:
void
inputChanged
(
input_thread_t
*
);
...
...
modules/gui/qt4/menus.cpp
View file @
35733acc
...
...
@@ -82,6 +82,7 @@ enum
static
QActionGroup
*
currentGroup
;
QMenu
*
VLCMenuBar
::
recentsMenu
=
NULL
;
QMenu
*
VLCMenuBar
::
audioDeviceMenu
=
NULL
;
/**
* @brief Add static entries to DP in menus
...
...
@@ -255,7 +256,6 @@ static int AudioAutoMenuBuilder( audio_output_t *p_object,
{
PUSH_INPUTVAR
(
"audio-es"
);
PUSH_VAR
(
"stereo-mode"
);
PUSH_VAR
(
"device"
);
PUSH_VAR
(
"visual"
);
return
VLC_SUCCESS
;
}
...
...
@@ -593,8 +593,8 @@ QMenu *VLCMenuBar::AudioMenu( intf_thread_t *p_intf, QMenu * current )
if
(
current
->
isEmpty
()
)
{
addActionWithSubmenu
(
current
,
"audio-es"
,
qtr
(
"Audio &Track"
)
);
audioDeviceMenu
=
current
->
addMenu
(
qtr
(
"Audio &Device"
)
);
addActionWithSubmenu
(
current
,
"stereo-mode"
,
qtr
(
"&Stereo Mode"
)
);
addActionWithSubmenu
(
current
,
"device"
,
qtr
(
"Audio &Device"
)
);
current
->
addSeparator
();
addActionWithSubmenu
(
current
,
"visual"
,
qtr
(
"&Visualizations"
)
);
...
...
@@ -605,6 +605,7 @@ QMenu *VLCMenuBar::AudioMenu( intf_thread_t *p_intf, QMenu * current )
p_aout
=
THEMIM
->
getAout
();
EnableStaticEntries
(
current
,
(
p_aout
!=
NULL
)
);
AudioAutoMenuBuilder
(
p_aout
,
p_input
,
objects
,
varnames
);
updateAudioDevice
(
p_intf
,
p_aout
,
audioDeviceMenu
);
if
(
p_aout
)
{
vlc_object_release
(
p_aout
);
...
...
@@ -1524,6 +1525,39 @@ void VLCMenuBar::DoAction( QObject *data )
var_Set
(
p_object
,
var
,
val
);
}
void
VLCMenuBar
::
updateAudioDevice
(
intf_thread_t
*
p_intf
,
audio_output_t
*
p_aout
,
QMenu
*
current
)
{
char
**
ids
,
**
names
;
char
*
selected
;
if
(
!
p_aout
)
return
;
current
->
clear
();
int
i_result
=
aout_DevicesList
(
p_aout
,
&
ids
,
&
names
);
selected
=
aout_DeviceGet
(
p_aout
);
QActionGroup
*
actionGroup
=
new
QActionGroup
(
current
);
QAction
*
action
;
for
(
int
i
=
0
;
i
<
i_result
;
i
++
)
{
action
=
new
QAction
(
qfu
(
names
[
i
]
),
NULL
);
action
->
setData
(
ids
[
i
]
);
action
->
setCheckable
(
true
);
if
(
selected
&&
!
strcmp
(
ids
[
i
],
selected
)
)
action
->
setChecked
(
true
);
actionGroup
->
addAction
(
action
);
current
->
addAction
(
action
);
CONNECT
(
action
,
changed
(),
THEMIM
->
menusAudioMapper
,
map
());
THEMIM
->
menusAudioMapper
->
setMapping
(
action
,
ids
[
i
]);
free
(
ids
[
i
]
);
free
(
names
[
i
]
);
}
free
(
ids
);
free
(
names
);
}
void
VLCMenuBar
::
updateRecents
(
intf_thread_t
*
p_intf
)
{
if
(
recentsMenu
)
...
...
modules/gui/qt4/menus.hpp
View file @
35733acc
...
...
@@ -153,7 +153,9 @@ private:
static
void
EnableStaticEntries
(
QMenu
*
,
bool
);
/* recentMRL menu */
static
QMenu
*
recentsMenu
;
static
QMenu
*
recentsMenu
,
*
audioDeviceMenu
;
static
void
updateAudioDevice
(
intf_thread_t
*
,
audio_output_t
*
,
QMenu
*
);
public
slots
:
static
void
updateRecents
(
intf_thread_t
*
);
...
...
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