Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
65b5865c
Commit
65b5865c
authored
Apr 01, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/gui/wxwindows/*: bookmarks improvements.
parent
89f8daf2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
17 deletions
+84
-17
modules/gui/wxwindows/bookmarks.cpp
modules/gui/wxwindows/bookmarks.cpp
+68
-3
modules/gui/wxwindows/playlist.cpp
modules/gui/wxwindows/playlist.cpp
+14
-14
modules/gui/wxwindows/wxwindows.h
modules/gui/wxwindows/wxwindows.h
+2
-0
No files found.
modules/gui/wxwindows/bookmarks.cpp
View file @
65b5865c
...
...
@@ -34,6 +34,10 @@
#include "wxwindows.h"
/* Callback prototype */
static
int
PlaylistChanged
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
,
void
*
);
/*****************************************************************************
* Event Table.
*****************************************************************************/
...
...
@@ -43,16 +47,22 @@ enum
{
/* menu items */
ButtonAdd_Event
=
wxID_HIGHEST
+
1
,
ButtonDel_Event
ButtonDel_Event
,
ButtonClear_Event
};
DEFINE_LOCAL_EVENT_TYPE
(
wxEVT_BOOKMARKS
);
BEGIN_EVENT_TABLE
(
BookmarksDialog
,
wxFrame
)
/* Hide the window when the user closes the window */
EVT_CLOSE
(
BookmarksDialog
::
OnClose
)
EVT_BUTTON
(
ButtonAdd_Event
,
BookmarksDialog
::
OnAdd
)
EVT_BUTTON
(
ButtonDel_Event
,
BookmarksDialog
::
OnDel
)
EVT_BUTTON
(
ButtonClear_Event
,
BookmarksDialog
::
OnClear
)
EVT_LIST_ITEM_ACTIVATED
(
-
1
,
BookmarksDialog
::
OnActivateItem
)
EVT_COMMAND
(
-
1
,
wxEVT_BOOKMARKS
,
BookmarksDialog
::
OnUpdate
)
END_EVENT_TABLE
()
/*****************************************************************************
...
...
@@ -80,8 +90,11 @@ BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf, wxWindow *p_parent )
new
wxButton
(
panel
,
ButtonAdd_Event
,
wxU
(
_
(
"Add"
))
);
wxButton
*
button_del
=
new
wxButton
(
panel
,
ButtonDel_Event
,
wxU
(
_
(
"Remove"
))
);
wxButton
*
button_clear
=
new
wxButton
(
panel
,
ButtonClear_Event
,
wxU
(
_
(
"Clear"
))
);
panel_sizer
->
Add
(
button_add
,
0
,
wxEXPAND
);
panel_sizer
->
Add
(
button_del
,
0
,
wxEXPAND
);
panel_sizer
->
Add
(
button_clear
,
0
,
wxEXPAND
);
panel
->
SetSizerAndFit
(
panel_sizer
);
list_ctrl
=
new
wxListView
(
this
,
-
1
,
wxDefaultPosition
,
wxDefaultSize
,
...
...
@@ -95,10 +108,27 @@ BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf, wxWindow *p_parent )
sizer
->
Add
(
panel
,
0
,
wxEXPAND
|
wxALL
,
5
);
sizer
->
Add
(
list_ctrl
,
1
,
wxEXPAND
|
wxALL
,
5
);
SetSizer
(
sizer
);
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
{
/* Some global changes happened -> Rebuild all */
var_AddCallback
(
p_playlist
,
"playlist-current"
,
PlaylistChanged
,
this
);
}
}
BookmarksDialog
::~
BookmarksDialog
()
{
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
{
/* Some global changes happened -> Rebuild all */
var_DelCallback
(
p_playlist
,
"intf-change"
,
PlaylistChanged
,
this
);
}
}
/*****************************************************************************
...
...
@@ -115,6 +145,7 @@ void BookmarksDialog::Update()
seekpoint_t
**
pp_bookmarks
;
int
i_bookmarks
;
list_ctrl
->
DeleteAllItems
();
if
(
input_Control
(
p_input
,
INPUT_GET_BOOKMARKS
,
&
pp_bookmarks
,
&
i_bookmarks
)
!=
VLC_SUCCESS
)
{
...
...
@@ -122,7 +153,6 @@ void BookmarksDialog::Update()
return
;
}
list_ctrl
->
DeleteAllItems
();
for
(
int
i
=
0
;
i
<
i_bookmarks
;
i
++
)
{
list_ctrl
->
InsertItem
(
i
,
wxL2U
(
pp_bookmarks
[
i
]
->
psz_name
)
);
...
...
@@ -158,7 +188,7 @@ void BookmarksDialog::OnAdd( wxCommandEvent& event )
var_Get
(
p_input
,
"position"
,
&
pos
);
bookmark
.
psz_name
=
NULL
;
bookmark
.
i_byte_offset
=
(
pos
.
f_float
*
p_input
->
stream
.
p_selected_area
->
i_size
);
(
int64_t
)((
double
)
pos
.
f_float
*
p_input
->
stream
.
p_selected_area
->
i_size
);
var_Get
(
p_input
,
"time"
,
&
pos
);
bookmark
.
i_time_offset
=
pos
.
i_time
;
input_Control
(
p_input
,
INPUT_ADD_BOOKMARK
,
&
bookmark
);
...
...
@@ -186,6 +216,20 @@ void BookmarksDialog::OnDel( wxCommandEvent& event )
Update
();
}
void
BookmarksDialog
::
OnClear
(
wxCommandEvent
&
event
)
{
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_INPUT
,
FIND_ANYWHERE
);
if
(
!
p_input
)
return
;
input_Control
(
p_input
,
INPUT_CLEAR_BOOKMARKS
);
vlc_object_release
(
p_input
);
Update
();
}
void
BookmarksDialog
::
OnActivateItem
(
wxListEvent
&
event
)
{
input_thread_t
*
p_input
=
...
...
@@ -197,3 +241,24 @@ void BookmarksDialog::OnActivateItem( wxListEvent& event )
vlc_object_release
(
p_input
);
}
void
BookmarksDialog
::
OnUpdate
(
wxCommandEvent
&
event
)
{
Update
();
}
/*****************************************************************************
* PlaylistChanged: callback triggered by the intf-change playlist variable
* We don't rebuild the playlist directly here because we don't want the
* caller to block for a too long time.
*****************************************************************************/
static
int
PlaylistChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
oval
,
vlc_value_t
nval
,
void
*
param
)
{
BookmarksDialog
*
p_dialog
=
(
BookmarksDialog
*
)
param
;
wxCommandEvent
bookmarks_event
(
wxEVT_BOOKMARKS
,
0
);
p_dialog
->
AddPendingEvent
(
bookmarks_event
);
return
VLC_SUCCESS
;
}
modules/gui/wxwindows/playlist.cpp
View file @
65b5865c
...
...
@@ -30,12 +30,12 @@
#include "wxwindows.h"
/* Callback prototype */
int
PlaylistChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
);
int
PlaylistNext
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
);
int
ItemChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
);
static
int
PlaylistChanged
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
,
void
*
);
static
int
PlaylistNext
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
,
void
*
);
static
int
ItemChanged
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
,
void
*
);
/*****************************************************************************
* Event Table.
...
...
@@ -1229,8 +1229,8 @@ void Playlist::OnPlaylistEvent( wxCommandEvent& event )
* We don't rebuild the playlist directly here because we don't want the
* caller to block for a too long time.
*****************************************************************************/
int
PlaylistChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_
val
,
void
*
param
)
static
int
PlaylistChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
oval
,
vlc_value_t
n
val
,
void
*
param
)
{
Playlist
*
p_playlist_dialog
=
(
Playlist
*
)
param
;
p_playlist_dialog
->
b_need_update
=
VLC_TRUE
;
...
...
@@ -1240,15 +1240,15 @@ int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable,
/*****************************************************************************
* Next: callback triggered by the playlist-current playlist variable
*****************************************************************************/
int
PlaylistNext
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_
val
,
void
*
param
)
static
int
PlaylistNext
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
oval
,
vlc_value_t
n
val
,
void
*
param
)
{
Playlist
*
p_playlist_dialog
=
(
Playlist
*
)
param
;
wxCommandEvent
event
(
wxEVT_PLAYLIST
,
UpdateItem_Event
);
event
.
SetInt
(
o
ld_
val
.
i_int
);
event
.
SetInt
(
oval
.
i_int
);
p_playlist_dialog
->
AddPendingEvent
(
event
);
event
.
SetInt
(
n
ew_
val
.
i_int
);
event
.
SetInt
(
nval
.
i_int
);
p_playlist_dialog
->
AddPendingEvent
(
event
);
return
0
;
...
...
@@ -1257,8 +1257,8 @@ int PlaylistNext( vlc_object_t *p_this, const char *psz_variable,
/*****************************************************************************
* ItemChanged: callback triggered by the item-change playlist variable
*****************************************************************************/
int
ItemChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
)
static
int
ItemChanged
(
vlc_object_t
*
p_this
,
const
char
*
psz_variable
,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
)
{
Playlist
*
p_playlist_dialog
=
(
Playlist
*
)
param
;
...
...
modules/gui/wxwindows/wxwindows.h
View file @
65b5865c
...
...
@@ -1018,7 +1018,9 @@ private:
void
OnClose
(
wxCommandEvent
&
event
);
void
OnAdd
(
wxCommandEvent
&
event
);
void
OnDel
(
wxCommandEvent
&
event
);
void
OnClear
(
wxCommandEvent
&
event
);
void
OnActivateItem
(
wxListEvent
&
event
);
void
OnUpdate
(
wxCommandEvent
&
event
);
DECLARE_EVENT_TABLE
();
...
...
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