Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
2e6b2114
Commit
2e6b2114
authored
Sep 23, 2006
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Advanced controls bar
Make some sttings persistent
parent
19f019c7
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
318 additions
and
60 deletions
+318
-60
modules/gui/qt4/Modules.am
modules/gui/qt4/Modules.am
+4
-4
modules/gui/qt4/components/extended_panels.cpp
modules/gui/qt4/components/extended_panels.cpp
+19
-2
modules/gui/qt4/components/extended_panels.hpp
modules/gui/qt4/components/extended_panels.hpp
+16
-0
modules/gui/qt4/components/interface_widgets.cpp
modules/gui/qt4/components/interface_widgets.cpp
+110
-0
modules/gui/qt4/components/interface_widgets.hpp
modules/gui/qt4/components/interface_widgets.hpp
+26
-0
modules/gui/qt4/dialogs/extended.cpp
modules/gui/qt4/dialogs/extended.cpp
+1
-1
modules/gui/qt4/input_manager.cpp
modules/gui/qt4/input_manager.cpp
+24
-1
modules/gui/qt4/input_manager.hpp
modules/gui/qt4/input_manager.hpp
+5
-0
modules/gui/qt4/main_interface.cpp
modules/gui/qt4/main_interface.cpp
+75
-43
modules/gui/qt4/main_interface.hpp
modules/gui/qt4/main_interface.hpp
+4
-0
modules/gui/qt4/menus.cpp
modules/gui/qt4/menus.cpp
+15
-7
modules/gui/qt4/menus.hpp
modules/gui/qt4/menus.hpp
+3
-2
modules/gui/qt4/qt4.hpp
modules/gui/qt4/qt4.hpp
+16
-0
No files found.
modules/gui/qt4/Modules.am
View file @
2e6b2114
...
@@ -30,7 +30,7 @@ TOMOC = main_interface \
...
@@ -30,7 +30,7 @@ TOMOC = main_interface \
dialogs/streaminfo
\
dialogs/streaminfo
\
dialogs/extended
\
dialogs/extended
\
dialogs/interaction
\
dialogs/interaction
\
components/e
qualizer
\
components/e
xtended_panels
\
components/infopanels
\
components/infopanels
\
components/preferences_widgets
\
components/preferences_widgets
\
components/preferences
\
components/preferences
\
...
@@ -56,7 +56,7 @@ nodist_SOURCES_qt4 = \
...
@@ -56,7 +56,7 @@ nodist_SOURCES_qt4 = \
dialogs/errors.moc.cpp
\
dialogs/errors.moc.cpp
\
dialogs/prefs_dialog.moc.cpp
\
dialogs/prefs_dialog.moc.cpp
\
dialogs/interaction.moc.cpp
\
dialogs/interaction.moc.cpp
\
components/e
qualizer
.moc.cpp
\
components/e
xtended_panels
.moc.cpp
\
components/infopanels.moc.cpp
\
components/infopanels.moc.cpp
\
components/preferences_widgets.moc.cpp
\
components/preferences_widgets.moc.cpp
\
components/preferences.moc.cpp
\
components/preferences.moc.cpp
\
...
@@ -102,7 +102,7 @@ SOURCES_qt4 = qt4.cpp \
...
@@ -102,7 +102,7 @@ SOURCES_qt4 = qt4.cpp \
dialogs/messages.cpp
\
dialogs/messages.cpp
\
dialogs/errors.cpp
\
dialogs/errors.cpp
\
dialogs/interaction.cpp
\
dialogs/interaction.cpp
\
components/e
qualizer
.cpp
\
components/e
xtended_panels
.cpp
\
components/infopanels.cpp
\
components/infopanels.cpp
\
components/preferences_widgets.cpp
\
components/preferences_widgets.cpp
\
components/preferences.cpp
\
components/preferences.cpp
\
...
@@ -130,7 +130,7 @@ EXTRA_DIST += \
...
@@ -130,7 +130,7 @@ EXTRA_DIST += \
dialogs/errors.hpp
\
dialogs/errors.hpp
\
dialogs/prefs_dialog.hpp
\
dialogs/prefs_dialog.hpp
\
dialogs/interaction.hpp
\
dialogs/interaction.hpp
\
components/e
qualizer
.hpp
\
components/e
xtended_panels
.hpp
\
components/infopanels.hpp
\
components/infopanels.hpp
\
components/preferences_widgets.hpp
\
components/preferences_widgets.hpp
\
components/preferences.hpp
\
components/preferences.hpp
\
...
...
modules/gui/qt4/components/e
qualizer
.cpp
→
modules/gui/qt4/components/e
xtended_panels
.cpp
View file @
2e6b2114
/*****************************************************************************
/*****************************************************************************
* e
qualizer.cpp : Equalizer
* e
xtended_panels.cpp : Extended controls panels
****************************************************************************
****************************************************************************
* Copyright (C) 2006 the VideoLAN team
* Copyright (C) 2006 the VideoLAN team
* $Id: preferences.cpp 16643 2006-09-13 12:45:46Z zorglub $
* $Id: preferences.cpp 16643 2006-09-13 12:45:46Z zorglub $
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
#include <QFont>
#include <QFont>
#include <QGridLayout>
#include <QGridLayout>
#include "components/e
qualizer
.hpp"
#include "components/e
xtended_panels
.hpp"
#include "qt4.hpp"
#include "qt4.hpp"
#include "../../audio_filter/equalizer_presets.h"
#include "../../audio_filter/equalizer_presets.h"
...
@@ -36,6 +36,10 @@
...
@@ -36,6 +36,10 @@
#include <vlc_intf_strings.h>
#include <vlc_intf_strings.h>
#include <assert.h>
#include <assert.h>
/**********************************************************************
* Equalizer
**********************************************************************/
static
const
QString
band_frequencies
[]
=
static
const
QString
band_frequencies
[]
=
{
{
" 60Hz "
,
" 170 Hz "
,
" 310 Hz "
,
" 600 Hz "
,
" 1 kHz "
,
" 60Hz "
,
" 170 Hz "
,
" 310 Hz "
,
" 600 Hz "
,
" 1 kHz "
,
...
@@ -257,3 +261,16 @@ void Equalizer::addCallbacks( aout_instance_t *p_aout )
...
@@ -257,3 +261,16 @@ void Equalizer::addCallbacks( aout_instance_t *p_aout )
// var_AddCallback( p_aout, "equalizer-bands", EqzCallback, this );
// var_AddCallback( p_aout, "equalizer-bands", EqzCallback, this );
// var_AddCallback( p_aout, "equalizer-preamp", EqzCallback, this );
// var_AddCallback( p_aout, "equalizer-preamp", EqzCallback, this );
}
}
/**********************************************************************
* Video filters / Adjust
**********************************************************************/
/**********************************************************************
* Audio filters
**********************************************************************/
/**********************************************************************
* Extended playbak controls
**********************************************************************/
modules/gui/qt4/components/e
qualizer
.hpp
→
modules/gui/qt4/components/e
xtended_panels
.hpp
View file @
2e6b2114
...
@@ -56,4 +56,20 @@ private slots:
...
@@ -56,4 +56,20 @@ private slots:
void
setPreset
(
int
);
void
setPreset
(
int
);
};
};
class
ExtendedControls
:
public
QWidget
{
Q_OBJECT
public:
ExtendedControls
(
intf_thread_t
*
,
QWidget
*
)
{};
virtual
~
ExtendedControls
()
{};
private:
intf_thread_t
*
p_intf
;
private
slots
:
void
slower
()
{};
void
faster
()
{};
void
normal
()
{};
void
snapshot
()
{};
};
#endif
#endif
modules/gui/qt4/components/interface_widgets.cpp
View file @
2e6b2114
...
@@ -30,6 +30,8 @@
...
@@ -30,6 +30,8 @@
#include "pixmaps/art.xpm"
#include "pixmaps/art.xpm"
#include <vlc/vout.h>
#include <vlc/vout.h>
#include <QLabel>
#include <QSpacerItem>
#include <QCursor>
#include <QCursor>
#include <QPushButton>
#include <QPushButton>
#include <QHBoxLayout>
#include <QHBoxLayout>
...
@@ -154,6 +156,17 @@ VisualSelector::VisualSelector( intf_thread_t *_p_i ) :
...
@@ -154,6 +156,17 @@ VisualSelector::VisualSelector( intf_thread_t *_p_i ) :
QPushButton
*
nextButton
=
new
QPushButton
(
"Next"
);
QPushButton
*
nextButton
=
new
QPushButton
(
"Next"
);
layout
->
addWidget
(
prevButton
);
layout
->
addWidget
(
prevButton
);
layout
->
addWidget
(
nextButton
);
layout
->
addWidget
(
nextButton
);
layout
->
addItem
(
new
QSpacerItem
(
40
,
20
,
QSizePolicy
::
Expanding
,
QSizePolicy
::
Minimum
)
);
layout
->
addWidget
(
new
QLabel
(
qtr
(
"Current visualization:"
)
)
);
current
=
new
QLabel
(
qtr
(
"None"
)
);
layout
->
addWidget
(
current
);
BUTTONACT
(
prevButton
,
prev
()
);
BUTTONACT
(
nextButton
,
next
()
);
setLayout
(
layout
);
setLayout
(
layout
);
setMaximumHeight
(
35
);
setMaximumHeight
(
35
);
}
}
...
@@ -162,6 +175,103 @@ VisualSelector::~VisualSelector()
...
@@ -162,6 +175,103 @@ VisualSelector::~VisualSelector()
{
{
}
}
void
VisualSelector
::
prev
()
{
char
*
psz_new
=
aout_VisualPrev
(
p_intf
);
if
(
psz_new
)
{
current
->
setText
(
qfu
(
psz_new
)
);
free
(
psz_new
);
}
}
void
VisualSelector
::
next
()
{
char
*
psz_new
=
aout_VisualNext
(
p_intf
);
if
(
psz_new
)
{
current
->
setText
(
qfu
(
psz_new
)
);
free
(
psz_new
);
}
}
/**********************************************************************
* More controls
**********************************************************************/
ControlsWidget
::
ControlsWidget
(
intf_thread_t
*
_p_i
)
:
QFrame
(
NULL
),
p_intf
(
_p_i
)
{
QHBoxLayout
*
layout
=
new
QHBoxLayout
(
this
);
layout
->
setMargin
(
0
);
slowerButton
=
new
QPushButton
(
"S"
);
BUTTON_SET_ACT
(
slowerButton
,
"S"
,
qtr
(
"Slower"
),
slower
()
);
layout
->
addWidget
(
slowerButton
);
slowerButton
->
setMaximumWidth
(
35
);
normalButton
=
new
QPushButton
(
"N"
);
BUTTON_SET_ACT
(
normalButton
,
"N"
,
qtr
(
"Normal rate"
),
normal
()
);
layout
->
addWidget
(
normalButton
);
normalButton
->
setMaximumWidth
(
35
);
fasterButton
=
new
QPushButton
(
"F"
);
BUTTON_SET_ACT
(
fasterButton
,
"F"
,
qtr
(
"Faster"
),
faster
()
);
layout
->
addWidget
(
fasterButton
);
fasterButton
->
setMaximumWidth
(
35
);
layout
->
addItem
(
new
QSpacerItem
(
100
,
20
,
QSizePolicy
::
Expanding
,
QSizePolicy
::
Minimum
)
);
snapshotButton
=
new
QPushButton
(
"S"
);
BUTTON_SET_ACT
(
snapshotButton
,
"S"
,
qtr
(
"Take a snapshot"
),
snapshot
()
);
layout
->
addWidget
(
snapshotButton
);
snapshotButton
->
setMaximumWidth
(
35
);
fullscreenButton
=
new
QPushButton
(
"F"
);
BUTTON_SET_ACT
(
fullscreenButton
,
"F"
,
qtr
(
"Fullscreen"
),
fullscreen
()
);
layout
->
addWidget
(
fullscreenButton
);
fullscreenButton
->
setMaximumWidth
(
35
);
}
ControlsWidget
::~
ControlsWidget
()
{
}
void
ControlsWidget
::
enableInput
(
bool
enable
)
{
slowerButton
->
setEnabled
(
enable
);
normalButton
->
setEnabled
(
enable
);
fasterButton
->
setEnabled
(
enable
);
}
void
ControlsWidget
::
enableVideo
(
bool
enable
)
{
snapshotButton
->
setEnabled
(
enable
);
fullscreenButton
->
setEnabled
(
enable
);
}
void
ControlsWidget
::
slower
()
{
THEMIM
->
getIM
()
->
slower
();
}
void
ControlsWidget
::
faster
()
{
THEMIM
->
getIM
()
->
faster
();
}
void
ControlsWidget
::
normal
()
{
THEMIM
->
getIM
()
->
normalRate
();
}
void
ControlsWidget
::
snapshot
()
{
}
void
ControlsWidget
::
fullscreen
()
{
}
/**********************************************************************
/**********************************************************************
* Playlist Widget. The embedded playlist
* Playlist Widget. The embedded playlist
**********************************************************************/
**********************************************************************/
...
...
modules/gui/qt4/components/interface_widgets.hpp
View file @
2e6b2114
...
@@ -89,8 +89,34 @@ public:
...
@@ -89,8 +89,34 @@ public:
virtual
~
VisualSelector
();
virtual
~
VisualSelector
();
private:
private:
intf_thread_t
*
p_intf
;
intf_thread_t
*
p_intf
;
QLabel
*
current
;
private
slots
:
void
prev
();
void
next
();
};
};
class
QPushButton
;
class
ControlsWidget
:
public
QFrame
{
Q_OBJECT
public:
ControlsWidget
(
intf_thread_t
*
);
virtual
~
ControlsWidget
();
void
enableInput
(
bool
);
void
enableVideo
(
bool
);
private:
intf_thread_t
*
p_intf
;
QPushButton
*
slowerButton
,
*
normalButton
,
*
fasterButton
;
QPushButton
*
fullscreenButton
,
*
snapshotButton
;
private
slots
:
void
faster
();
void
slower
();
void
normal
();
void
snapshot
();
void
fullscreen
();
};
/******************** Playlist Widgets ****************/
/******************** Playlist Widgets ****************/
#include <QModelIndex>
#include <QModelIndex>
class
QSignalMapper
;
class
QSignalMapper
;
...
...
modules/gui/qt4/dialogs/extended.cpp
View file @
2e6b2114
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#include "dialogs/extended.hpp"
#include "dialogs/extended.hpp"
#include "dialogs_provider.hpp"
#include "dialogs_provider.hpp"
#include "util/qvlcframe.hpp"
#include "util/qvlcframe.hpp"
#include "components/e
qualizer
.hpp"
#include "components/e
xtended_panels
.hpp"
#include "qt4.hpp"
#include "qt4.hpp"
ExtendedDialog
*
ExtendedDialog
::
instance
=
NULL
;
ExtendedDialog
*
ExtendedDialog
::
instance
=
NULL
;
...
...
modules/gui/qt4/input_manager.cpp
View file @
2e6b2114
...
@@ -55,6 +55,11 @@ void InputManager::setInput( input_thread_t *_p_input )
...
@@ -55,6 +55,11 @@ void InputManager::setInput( input_thread_t *_p_input )
b_had_audio
=
b_had_video
=
b_has_audio
=
b_has_video
=
false
;
b_had_audio
=
b_had_video
=
b_has_audio
=
b_has_video
=
false
;
if
(
p_input
)
if
(
p_input
)
{
{
vlc_value_t
val
;
var_Change
(
p_input
,
"video-es"
,
VLC_VAR_CHOICESCOUNT
,
&
val
,
NULL
);
b_has_video
=
val
.
i_int
>
0
;
var_Change
(
p_input
,
"audio-es"
,
VLC_VAR_CHOICESCOUNT
,
&
val
,
NULL
);
b_has_audio
=
val
.
i_int
>
0
;
var_AddCallback
(
p_input
,
"audio-es"
,
ChangeAudio
,
this
);
var_AddCallback
(
p_input
,
"audio-es"
,
ChangeAudio
,
this
);
var_AddCallback
(
p_input
,
"video-es"
,
ChangeVideo
,
this
);
var_AddCallback
(
p_input
,
"video-es"
,
ChangeVideo
,
this
);
}
}
...
@@ -139,7 +144,7 @@ void InputManager::update()
...
@@ -139,7 +144,7 @@ void InputManager::update()
void
InputManager
::
sliderUpdate
(
float
new_pos
)
void
InputManager
::
sliderUpdate
(
float
new_pos
)
{
{
if
(
p_input
&&
!
p_input
->
b_die
&&
!
p_input
->
b_dead
)
if
(
hasInput
()
)
var_SetFloat
(
p_input
,
"position"
,
new_pos
);
var_SetFloat
(
p_input
,
"position"
,
new_pos
);
}
}
...
@@ -161,6 +166,24 @@ void InputManager::togglePlayPause()
...
@@ -161,6 +166,24 @@ void InputManager::togglePlayPause()
emit
statusChanged
(
state
.
i_int
);
emit
statusChanged
(
state
.
i_int
);
}
}
void
InputManager
::
slower
()
{
if
(
hasInput
()
)
var_SetVoid
(
p_input
,
"rate-slower"
);
}
void
InputManager
::
faster
()
{
if
(
hasInput
()
)
var_SetVoid
(
p_input
,
"rate-faster"
);
}
void
InputManager
::
normalRate
()
{
if
(
hasInput
()
)
var_SetInteger
(
p_input
,
"rate"
,
INPUT_RATE_DEFAULT
);
}
/**********************************************************************
/**********************************************************************
* MainInputManager implementation. Wrap an input manager and
* MainInputManager implementation. Wrap an input manager and
* take care of updating the main playlist input
* take care of updating the main playlist input
...
...
modules/gui/qt4/input_manager.hpp
View file @
2e6b2114
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
#include <QObject>
#include <QObject>
#include <vlc/vlc.h>
#include <vlc/vlc.h>
#include <vlc/input.h>
class
InputManager
:
public
QObject
class
InputManager
:
public
QObject
{
{
...
@@ -35,6 +36,7 @@ public:
...
@@ -35,6 +36,7 @@ public:
virtual
~
InputManager
();
virtual
~
InputManager
();
void
delInput
();
void
delInput
();
bool
hasInput
()
{
return
p_input
&&
!
p_input
->
b_dead
&&
!
p_input
->
b_die
;
}
bool
hasAudio
()
{
return
b_has_audio
;
}
bool
hasAudio
()
{
return
b_has_audio
;
}
bool
hasVideo
()
{
return
b_has_video
;
}
bool
hasVideo
()
{
return
b_has_video
;
}
bool
b_has_audio
,
b_has_video
,
b_had_audio
,
b_had_video
;
bool
b_has_audio
,
b_has_video
,
b_had_audio
,
b_had_video
;
...
@@ -48,6 +50,9 @@ public slots:
...
@@ -48,6 +50,9 @@ public slots:
void
update
();
///< Periodic updates
void
update
();
///< Periodic updates
void
setInput
(
input_thread_t
*
);
///< Our controlled input changed
void
setInput
(
input_thread_t
*
);
///< Our controlled input changed
void
sliderUpdate
(
float
);
///< User dragged the slider. We get new pos
void
sliderUpdate
(
float
);
///< User dragged the slider. We get new pos
void
slower
();
void
faster
();
void
normalRate
();
signals:
signals:
/// Send new position, new time and new length
/// Send new position, new time and new length
void
positionUpdated
(
float
,
int
,
int
);
void
positionUpdated
(
float
,
int
,
int
);
...
...
modules/gui/qt4/main_interface.cpp
View file @
2e6b2114
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
#include <assert.h>
#include <assert.h>
#include <vlc_keys.h>
#include <vlc_keys.h>
#include <vlc/vout.h>
#include <vlc/vout.h>
#include <aout_internal.h>
#ifdef WIN32
#ifdef WIN32
#define PREF_W 410
#define PREF_W 410
...
@@ -48,10 +49,6 @@
...
@@ -48,10 +49,6 @@
#define PREF_H 125
#define PREF_H 125
#endif
#endif
#define BUTTON_SET( button, image, tooltip ) ui.button##Button->setText(""); \
ui.button##Button->setIcon( QIcon( ":/pixmaps/"#image ) ); \
ui.button##Button->setToolTip( tooltip );
#define VISIBLE(i) (i && i->isVisible())
#define VISIBLE(i) (i && i->isVisible())
#define SET_WIDTH(i,j) i->widgetSize.setWidth(j)
#define SET_WIDTH(i,j) i->widgetSize.setWidth(j)
...
@@ -90,10 +87,24 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
...
@@ -90,10 +87,24 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
bgWidget
=
NULL
;
videoWidget
=
NULL
;
playlistWidget
=
NULL
;
bgWidget
=
NULL
;
videoWidget
=
NULL
;
playlistWidget
=
NULL
;
embeddedPlaylistWasActive
=
videoIsActive
=
false
;
embeddedPlaylistWasActive
=
videoIsActive
=
false
;
/* Fetch configuration from settings and vlc config */
videoEmbeddedFlag
=
false
;
if
(
config_GetInt
(
p_intf
,
"embedded-video"
)
)
videoEmbeddedFlag
=
true
;
alwaysVideoFlag
=
false
;
if
(
videoEmbeddedFlag
&&
config_GetInt
(
p_intf
,
"qt-always-video"
))
alwaysVideoFlag
=
true
;
playlistEmbeddedFlag
=
settings
->
value
(
"playlist-embedded"
,
true
).
toBool
();
advControlsEnabled
=
settings
->
value
(
"adv-controls"
,
false
).
toBool
();
setWindowTitle
(
QString
::
fromUtf8
(
_
(
"VLC media player"
)
)
);
setWindowTitle
(
QString
::
fromUtf8
(
_
(
"VLC media player"
)
)
);
handleMainUi
(
settings
);
handleMainUi
(
settings
);
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
playlistEmbeddedFlag
);
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
playlistEmbeddedFlag
,
advControlsEnabled
);
/* Status bar */
/* Status bar */
timeLabel
=
new
QLabel
(
0
);
timeLabel
=
new
QLabel
(
0
);
...
@@ -126,7 +137,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
...
@@ -126,7 +137,11 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
MainInterface
::~
MainInterface
()
MainInterface
::~
MainInterface
()
{
{
/// \todo Save everything
settings
->
setValue
(
"playlist-embedded"
,
playlistEmbeddedFlag
);
settings
->
setValue
(
"adv-controls"
,
advControlsEnabled
);
settings
->
setValue
(
"pos"
,
pos
()
);
settings
->
endGroup
();
delete
settings
;
p_intf
->
b_interaction
=
VLC_FALSE
;
p_intf
->
b_interaction
=
VLC_FALSE
;
var_DelCallback
(
p_intf
,
"interaction"
,
InteractCallback
,
this
);
var_DelCallback
(
p_intf
,
"interaction"
,
InteractCallback
,
this
);
...
@@ -144,17 +159,13 @@ void MainInterface::handleMainUi( QSettings *settings )
...
@@ -144,17 +159,13 @@ void MainInterface::handleMainUi( QSettings *settings )
slider
=
new
InputSlider
(
Qt
::
Horizontal
,
NULL
);
slider
=
new
InputSlider
(
Qt
::
Horizontal
,
NULL
);
ui
.
hboxLayout
->
insertWidget
(
0
,
slider
);
ui
.
hboxLayout
->
insertWidget
(
0
,
slider
);
BUTTON_SET
(
prev
,
previous
.
png
,
qtr
(
"Previous"
)
);
BUTTON_SET_ACT_I
(
ui
.
prevButton
,
""
,
previous
.
png
,
BUTTONACT
(
ui
.
prevButton
,
prev
()
);
qtr
(
"Previous"
),
prev
()
);
BUTTON_SET
(
next
,
next
.
png
,
qtr
(
"Next"
)
);
BUTTON_SET_ACT_I
(
ui
.
nextButton
,
""
,
next
.
png
,
qtr
(
"Next"
),
next
()
);
BUTTONACT
(
ui
.
nextButton
,
next
()
);
BUTTON_SET_ACT_I
(
ui
.
playButton
,
""
,
play
.
png
,
qtr
(
"Play"
),
play
()
);
BUTTON_SET
(
play
,
play
.
png
,
qtr
(
"Play"
)
);
BUTTON_SET_ACT_I
(
ui
.
stopButton
,
""
,
stop
.
png
,
qtr
(
"Stop"
),
stop
()
);
BUTTONACT
(
ui
.
playButton
,
play
()
);
BUTTON_SET_ACT_I
(
ui
.
visualButton
,
""
,
stop
.
png
,
BUTTON_SET
(
stop
,
stop
.
png
,
qtr
(
"Stop"
)
);
qtr
(
"Audio visualizations"
),
visual
()
);
BUTTONACT
(
ui
.
stopButton
,
stop
()
);
BUTTON_SET
(
visual
,
stop
.
png
,
qtr
(
"Audio visualizations"
)
);
BUTTONACT
(
ui
.
visualButton
,
visual
()
);
/* Volume */
/* Volume */
ui
.
volMuteLabel
->
setPixmap
(
QPixmap
(
":/pixmaps/volume-low.png"
)
);
ui
.
volMuteLabel
->
setPixmap
(
QPixmap
(
":/pixmaps/volume-low.png"
)
);
...
@@ -164,20 +175,8 @@ void MainInterface::handleMainUi( QSettings *settings )
...
@@ -164,20 +175,8 @@ void MainInterface::handleMainUi( QSettings *settings )
ui
.
volMuteLabel
->
installEventFilter
(
h
);
ui
.
volMuteLabel
->
installEventFilter
(
h
);
ui
.
volumeSlider
->
setFocusPolicy
(
Qt
::
NoFocus
);
ui
.
volumeSlider
->
setFocusPolicy
(
Qt
::
NoFocus
);
/* Fetch configuration from settings and vlc config */
BUTTON_SET_IMG
(
ui
.
playlistButton
,
""
,
volume
-
low
.
png
,
videoEmbeddedFlag
=
false
;
playlistEmbeddedFlag
?
qtr
(
"Show playlist"
)
:
if
(
config_GetInt
(
p_intf
,
"embedded-video"
)
)
videoEmbeddedFlag
=
true
;
alwaysVideoFlag
=
false
;
if
(
videoEmbeddedFlag
&&
config_GetInt
(
p_intf
,
"qt-always-video"
))
alwaysVideoFlag
=
true
;
playlistEmbeddedFlag
=
true
;
/// \todo fetch playlist settings
BUTTON_SET
(
playlist
,
volume
-
low
.
png
,
playlistEmbeddedFlag
?
qtr
(
"Show playlist"
)
:
qtr
(
"Open playlist"
)
);
qtr
(
"Open playlist"
)
);
BUTTONACT
(
ui
.
playlistButton
,
playlist
()
);
BUTTONACT
(
ui
.
playlistButton
,
playlist
()
);
...
@@ -186,6 +185,12 @@ void MainInterface::handleMainUi( QSettings *settings )
...
@@ -186,6 +185,12 @@ void MainInterface::handleMainUi( QSettings *settings )
addSize
=
QSize
(
ui
.
vboxLayout
->
margin
()
*
2
,
PREF_H
);
addSize
=
QSize
(
ui
.
vboxLayout
->
margin
()
*
2
,
PREF_H
);
advControls
=
new
ControlsWidget
(
p_intf
);
ui
.
vboxLayout
->
insertWidget
(
0
,
advControls
);
advControls
->
updateGeometry
();
if
(
!
advControlsEnabled
)
advControls
->
hide
();
need_components_update
=
true
;
visualSelector
=
new
VisualSelector
(
p_intf
);
visualSelector
=
new
VisualSelector
(
p_intf
);
ui
.
vboxLayout
->
insertWidget
(
0
,
visualSelector
);
ui
.
vboxLayout
->
insertWidget
(
0
,
visualSelector
);
visualSelector
->
hide
();
visualSelector
->
hide
();
...
@@ -211,10 +216,6 @@ void MainInterface::handleMainUi( QSettings *settings )
...
@@ -211,10 +216,6 @@ void MainInterface::handleMainUi( QSettings *settings )
p_intf
->
pf_release_window
=
::
DoRelease
;
p_intf
->
pf_release_window
=
::
DoRelease
;
p_intf
->
pf_control_window
=
::
DoControl
;
p_intf
->
pf_control_window
=
::
DoControl
;
}
}
calculateInterfaceSize
();
resize
(
mainSize
);
setMinimumSize
(
PREF_W
,
addSize
.
height
()
);
setMinimumSize
(
PREF_W
,
addSize
.
height
()
);
}
}
...
@@ -249,7 +250,14 @@ void MainInterface::calculateInterfaceSize()
...
@@ -249,7 +250,14 @@ void MainInterface::calculateInterfaceSize()
}
}
if
(
VISIBLE
(
visualSelector
)
)
if
(
VISIBLE
(
visualSelector
)
)
height
+=
visualSelector
->
height
();
height
+=
visualSelector
->
height
();
fprintf
(
stderr
,
"Adv %p - visible %i
\n
"
,
advControls
,
advControls
->
isVisible
()
);
if
(
VISIBLE
(
advControls
)
)
{
fprintf
(
stderr
,
"visible
\n
"
);
height
+=
advControls
->
sizeHint
().
height
();
}
fprintf
(
stderr
,
"Adv height %i
\n
"
,
advControls
->
sizeHint
().
height
()
);
fprintf
(
stderr
,
"Setting to %ix%i
\n
"
,
fprintf
(
stderr
,
"Setting to %ix%i
\n
"
,
width
+
addSize
.
width
()
,
height
+
addSize
.
height
()
);
width
+
addSize
.
width
()
,
height
+
addSize
.
height
()
);
...
@@ -265,14 +273,12 @@ void MainInterface::resizeEvent( QResizeEvent *e )
...
@@ -265,14 +273,12 @@ void MainInterface::resizeEvent( QResizeEvent *e )
SET_WH
(
videoWidget
,
e
->
size
().
width
()
-
addSize
.
width
(),
SET_WH
(
videoWidget
,
e
->
size
().
width
()
-
addSize
.
width
(),
e
->
size
().
height
()
-
addSize
.
height
()
);
e
->
size
().
height
()
-
addSize
.
height
()
);
videoWidget
->
updateGeometry
();
videoWidget
->
updateGeometry
();
fprintf
(
stderr
,
"Video set to %ix%i
\n
"
,
DS
(
videoWidget
->
widgetSize
)
);
}
}
if
(
VISIBLE
(
playlistWidget
)
)
if
(
VISIBLE
(
playlistWidget
)
)
{
{
SET_WH
(
playlistWidget
,
e
->
size
().
width
()
-
addSize
.
width
(),
SET_WH
(
playlistWidget
,
e
->
size
().
width
()
-
addSize
.
width
(),
e
->
size
().
height
()
-
addSize
.
height
()
);
e
->
size
().
height
()
-
addSize
.
height
()
);
playlistWidget
->
updateGeometry
();
playlistWidget
->
updateGeometry
();
fprintf
(
stderr
,
"PL set to %ix%i
\n
"
,
DS
(
playlistWidget
->
widgetSize
)
);
}
}
}
}
...
@@ -361,6 +367,21 @@ int MainInterface::controlVideo( void *p_window, int i_query, va_list args )
...
@@ -361,6 +367,21 @@ int MainInterface::controlVideo( void *p_window, int i_query, va_list args )
return
i_ret
;
return
i_ret
;
}
}
void
MainInterface
::
advanced
()
{
if
(
!
VISIBLE
(
advControls
)
)
{
advControls
->
show
();
advControlsEnabled
=
true
;
}
else
{
advControls
->
hide
();
advControlsEnabled
=
false
;
}
doComponentsUpdate
();
}
void
MainInterface
::
visual
()
void
MainInterface
::
visual
()
{
{
if
(
!
VISIBLE
(
visualSelector
)
)
if
(
!
VISIBLE
(
visualSelector
)
)
...
@@ -404,7 +425,6 @@ void MainInterface::playlist()
...
@@ -404,7 +425,6 @@ void MainInterface::playlist()
/// Todo, reset its size ?
/// Todo, reset its size ?
if
(
VISIBLE
(
playlistWidget
)
)
if
(
VISIBLE
(
playlistWidget
)
)
{
{
fprintf
(
stderr
,
"hiding playlist
\n
"
);
playlistWidget
->
hide
();
playlistWidget
->
hide
();
if
(
videoIsActive
)
if
(
videoIsActive
)
{
{
...
@@ -415,7 +435,6 @@ void MainInterface::playlist()
...
@@ -415,7 +435,6 @@ void MainInterface::playlist()
}
}
else
else
{
{
fprintf
(
stderr
,
"showing playlist
\n
"
);
playlistWidget
->
show
();
playlistWidget
->
show
();
if
(
videoIsActive
)
if
(
videoIsActive
)
{
{
...
@@ -448,7 +467,7 @@ void MainInterface::undockPlaylist()
...
@@ -448,7 +467,7 @@ void MainInterface::undockPlaylist()
playlistEmbeddedFlag
=
false
;
playlistEmbeddedFlag
=
false
;
menuBar
()
->
clear
();
menuBar
()
->
clear
();
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
false
);
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
false
,
advControlsEnabled
);
if
(
videoIsActive
)
if
(
videoIsActive
)
{
{
...
@@ -469,7 +488,7 @@ void MainInterface::customEvent( QEvent *event )
...
@@ -469,7 +488,7 @@ void MainInterface::customEvent( QEvent *event )
PlaylistDialog
::
killInstance
();
PlaylistDialog
::
killInstance
();
playlistEmbeddedFlag
=
true
;
playlistEmbeddedFlag
=
true
;
menuBar
()
->
clear
();
menuBar
()
->
clear
();
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
true
);
QVLCMenu
::
createMenuBar
(
this
,
p_intf
,
true
,
advControlsEnabled
);
playlist
();
playlist
();
}
}
}
}
...
@@ -587,6 +606,21 @@ static bool b_my_volume;
...
@@ -587,6 +606,21 @@ static bool b_my_volume;
void
MainInterface
::
updateOnTimer
()
void
MainInterface
::
updateOnTimer
()
{
{
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
/* Todo: make this event-driven */
if
(
p_aout
)
{
ui
.
visualButton
->
setEnabled
(
true
);
vlc_object_release
(
p_aout
);
}
else
ui
.
visualButton
->
setEnabled
(
false
);
/* And this too */
advControls
->
enableInput
(
THEMIM
->
getIM
()
->
hasInput
()
);
advControls
->
enableVideo
(
THEMIM
->
getIM
()
->
hasVideo
()
);
if
(
p_intf
->
b_die
)
if
(
p_intf
->
b_die
)
{
{
QApplication
::
closeAllWindows
();
QApplication
::
closeAllWindows
();
...
@@ -634,8 +668,6 @@ static int InteractCallback( vlc_object_t *p_this,
...
@@ -634,8 +668,6 @@ static int InteractCallback( vlc_object_t *p_this,
{
{
intf_dialog_args_t
*
p_arg
=
new
intf_dialog_args_t
;
intf_dialog_args_t
*
p_arg
=
new
intf_dialog_args_t
;
p_arg
->
p_dialog
=
(
interaction_dialog_t
*
)(
new_val
.
p_address
);
p_arg
->
p_dialog
=
(
interaction_dialog_t
*
)(
new_val
.
p_address
);
MainInterface
*
p_interface
=
(
MainInterface
*
)
param
;
DialogEvent
*
event
=
new
DialogEvent
(
INTF_DIALOG_INTERACTION
,
0
,
p_arg
);
DialogEvent
*
event
=
new
DialogEvent
(
INTF_DIALOG_INTERACTION
,
0
,
p_arg
);
QApplication
::
postEvent
(
THEDP
,
static_cast
<
QEvent
*>
(
event
)
);
QApplication
::
postEvent
(
THEDP
,
static_cast
<
QEvent
*>
(
event
)
);
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
...
...
modules/gui/qt4/main_interface.hpp
View file @
2e6b2114
...
@@ -42,6 +42,7 @@ class BackgroundWidget;
...
@@ -42,6 +42,7 @@ class BackgroundWidget;
class
PlaylistWidget
;
class
PlaylistWidget
;
class
VolumeClickHandler
;
class
VolumeClickHandler
;
class
VisualSelector
;
class
VisualSelector
;
class
ControlsWidget
;
class
MainInterface
:
public
QVLCMW
class
MainInterface
:
public
QVLCMW
{
{
...
@@ -74,11 +75,13 @@ private:
...
@@ -74,11 +75,13 @@ private:
BackgroundWidget
*
bgWidget
;
BackgroundWidget
*
bgWidget
;
VisualSelector
*
visualSelector
;
VisualSelector
*
visualSelector
;
ControlsWidget
*
advControls
;
PlaylistWidget
*
playlistWidget
;
PlaylistWidget
*
playlistWidget
;
bool
playlistEmbeddedFlag
;
bool
playlistEmbeddedFlag
;
bool
videoEmbeddedFlag
;
bool
videoEmbeddedFlag
;
bool
alwaysVideoFlag
;
bool
alwaysVideoFlag
;
bool
advControlsEnabled
;
InputManager
*
main_input_manager
;
InputManager
*
main_input_manager
;
InputSlider
*
slider
;
InputSlider
*
slider
;
...
@@ -101,6 +104,7 @@ private slots:
...
@@ -101,6 +104,7 @@ private slots:
void
next
();
void
next
();
void
playlist
();
void
playlist
();
void
visual
();
void
visual
();
void
advanced
();
void
updateVolume
(
int
sliderVolume
);
void
updateVolume
(
int
sliderVolume
);
};
};
...
...
modules/gui/qt4/menus.cpp
View file @
2e6b2114
...
@@ -120,15 +120,15 @@ static int AudioAutoMenuBuilder( vlc_object_t *p_object,
...
@@ -120,15 +120,15 @@ static int AudioAutoMenuBuilder( vlc_object_t *p_object,
THEDP->menusUpdateMapper->setMapping( menu, f ); }
THEDP->menusUpdateMapper->setMapping( menu, f ); }
void
QVLCMenu
::
createMenuBar
(
MainInterface
*
mi
,
intf_thread_t
*
p_intf
,
void
QVLCMenu
::
createMenuBar
(
MainInterface
*
mi
,
intf_thread_t
*
p_intf
,
bool
playlist
)
bool
playlist
,
bool
adv_controls_enabled
)
{
{
QMenuBar
*
bar
=
mi
->
menuBar
();
QMenuBar
*
bar
=
mi
->
menuBar
();
BAR_ADD
(
FileMenu
(),
qtr
(
"
File
"
)
);
BAR_ADD
(
FileMenu
(),
qtr
(
"
Media
"
)
);
if
(
playlist
)
if
(
playlist
)
{
{
BAR_ADD
(
PlaylistMenu
(
mi
,
p_intf
),
qtr
(
"Playlist"
)
);
BAR_ADD
(
PlaylistMenu
(
mi
,
p_intf
),
qtr
(
"Playlist"
)
);
}
}
BAR_ADD
(
ToolsMenu
(
p_intf
),
qtr
(
"Tools"
)
);
BAR_ADD
(
ToolsMenu
(
p_intf
,
mi
,
adv_controls_enabled
),
qtr
(
"Tools"
)
);
BAR_DADD
(
VideoMenu
(
p_intf
,
NULL
),
qtr
(
"Video"
),
1
);
BAR_DADD
(
VideoMenu
(
p_intf
,
NULL
),
qtr
(
"Video"
),
1
);
BAR_DADD
(
AudioMenu
(
p_intf
,
NULL
),
qtr
(
"Audio"
),
2
);
BAR_DADD
(
AudioMenu
(
p_intf
,
NULL
),
qtr
(
"Audio"
),
2
);
BAR_DADD
(
NavigMenu
(
p_intf
,
NULL
),
qtr
(
"Navigation"
),
3
);
BAR_DADD
(
NavigMenu
(
p_intf
,
NULL
),
qtr
(
"Navigation"
),
3
);
...
@@ -161,7 +161,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf )
...
@@ -161,7 +161,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf )
return
menu
;
return
menu
;
}
}
QMenu
*
QVLCMenu
::
ToolsMenu
(
intf_thread_t
*
p_intf
,
bool
with_intf
)
QMenu
*
QVLCMenu
::
ToolsMenu
(
intf_thread_t
*
p_intf
,
MainInterface
*
mi
,
bool
adv_controls_enabled
,
bool
with_intf
)
{
{
QMenu
*
menu
=
new
QMenu
();
QMenu
*
menu
=
new
QMenu
();
if
(
with_intf
)
if
(
with_intf
)
...
@@ -169,15 +170,22 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, bool with_intf )
...
@@ -169,15 +170,22 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, bool with_intf )
QMenu
*
intfmenu
=
InterfacesMenu
(
p_intf
,
NULL
);
QMenu
*
intfmenu
=
InterfacesMenu
(
p_intf
,
NULL
);
intfmenu
->
setTitle
(
qtr
(
"Interfaces"
)
);
intfmenu
->
setTitle
(
qtr
(
"Interfaces"
)
);
menu
->
addMenu
(
intfmenu
);
menu
->
addMenu
(
intfmenu
);
/** \todo ADD EXT GUI HERE */
menu
->
addSeparator
();
menu
->
addSeparator
();
}
}
DP_SADD
(
qtr
(
"Messages"
),
""
,
""
,
messagesDialog
()
);
DP_SADD
(
qtr
(
"Messages"
),
""
,
""
,
messagesDialog
()
);
DP_SADD
(
qtr
(
"Information"
)
,
""
,
""
,
streaminfoDialog
()
);
DP_SADD
(
qtr
(
"Information"
)
,
""
,
""
,
streaminfoDialog
()
);
DP_SADD
(
qtr
(
"Bookmarks"
),
""
,
""
,
bookmarksDialog
()
);
DP_SADD
(
qtr
(
"Bookmarks"
),
""
,
""
,
bookmarksDialog
()
);
DP_SADD
(
qtr
(
"Extended settings"
),
""
,
""
,
extendedDialog
()
);
if
(
mi
)
{
menu
->
addSeparator
();
QAction
*
adv
=
menu
->
addAction
(
qtr
(
"Advanced controls"
),
mi
,
SLOT
(
advanced
()
)
);
adv
->
setCheckable
(
true
);
if
(
adv_controls_enabled
)
adv
->
setChecked
(
true
);
}
menu
->
addSeparator
();
menu
->
addSeparator
();
DP_SADD
(
qtr
(
"Preferences"
),
""
,
""
,
prefsDialog
()
);
DP_SADD
(
qtr
(
"Preferences"
),
""
,
""
,
prefsDialog
()
);
DP_SADD
(
qtr
(
"Extended"
),
""
,
""
,
extendedDialog
()
);
return
menu
;
return
menu
;
}
}
...
@@ -340,7 +348,7 @@ QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
...
@@ -340,7 +348,7 @@ QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
intfmenu->setTitle( qtr("Interfaces" ) ); \
intfmenu->setTitle( qtr("Interfaces" ) ); \
menu->addMenu( intfmenu ); \
menu->addMenu( intfmenu ); \
\
\
QMenu *toolsmenu = ToolsMenu( p_intf, false ); \
QMenu *toolsmenu = ToolsMenu( p_intf,
NULL, false,
false ); \
toolsmenu->setTitle( qtr("Tools" ) ); \
toolsmenu->setTitle( qtr("Tools" ) ); \
menu->addMenu( toolsmenu ); \
menu->addMenu( toolsmenu ); \
...
...
modules/gui/qt4/menus.hpp
View file @
2e6b2114
...
@@ -58,13 +58,14 @@ class QVLCMenu : public QObject
...
@@ -58,13 +58,14 @@ class QVLCMenu : public QObject
{
{
Q_OBJECT
;
Q_OBJECT
;
public:
public:
static
void
createMenuBar
(
MainInterface
*
mi
,
intf_thread_t
*
,
bool
);
static
void
createMenuBar
(
MainInterface
*
mi
,
intf_thread_t
*
,
bool
,
bool
);
/* Menus */
/* Menus */
static
QMenu
*
FileMenu
();
static
QMenu
*
FileMenu
();
static
QMenu
*
SDMenu
(
intf_thread_t
*
);
static
QMenu
*
SDMenu
(
intf_thread_t
*
);
static
QMenu
*
PlaylistMenu
(
MainInterface
*
,
intf_thread_t
*
);
static
QMenu
*
PlaylistMenu
(
MainInterface
*
,
intf_thread_t
*
);
static
QMenu
*
ToolsMenu
(
intf_thread_t
*
,
bool
with_intf
=
true
);
static
QMenu
*
ToolsMenu
(
intf_thread_t
*
,
MainInterface
*
,
bool
,
bool
with
=
true
);
static
QMenu
*
NavigMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
NavigMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
VideoMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
VideoMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
AudioMenu
(
intf_thread_t
*
,
QMenu
*
);
static
QMenu
*
AudioMenu
(
intf_thread_t
*
,
QMenu
*
);
...
...
modules/gui/qt4/qt4.hpp
View file @
2e6b2114
...
@@ -62,6 +62,22 @@ struct intf_sys_t
...
@@ -62,6 +62,22 @@ struct intf_sys_t
#define BUTTONACT( b, a ) connect( b, SIGNAL( clicked() ), this, SLOT(a) )
#define BUTTONACT( b, a ) connect( b, SIGNAL( clicked() ), this, SLOT(a) )
#define ON_TIMEOUT( act ) CONNECT( THEDP->fixed_timer, timeout(), this, act )
#define ON_TIMEOUT( act ) CONNECT( THEDP->fixed_timer, timeout(), this, act )
#define BUTTON_SET( button, text, tooltip ) \
button->setText( text ); \
button->setToolTip( tooltip );
#define BUTTON_SET_ACT( button, text, tooltip, thisslot ) \
BUTTON_SET( button, text, tooltip ); \
BUTTONACT( button, thisslot );
#define BUTTON_SET_IMG( button, text, image, tooltip ) \
BUTTON_SET( button, text, tooltip ); \
button->setIcon( QIcon( ":/pixmaps/"#image ) );
#define BUTTON_SET_ACT_I( button, text, image, tooltip, thisslot ) \
BUTTON_SET_IMG( button, text, image, tooltip ); \
BUTTONACT( button, thisslot );
static
int
DialogEvent_Type
=
QEvent
::
User
+
1
;
static
int
DialogEvent_Type
=
QEvent
::
User
+
1
;
static
int
PLUndockEvent_Type
=
QEvent
::
User
+
2
;
static
int
PLUndockEvent_Type
=
QEvent
::
User
+
2
;
static
int
PLDockEvent_Type
=
QEvent
::
User
+
3
;
static
int
PLDockEvent_Type
=
QEvent
::
User
+
3
;
...
...
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