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
12f48a5b
Commit
12f48a5b
authored
Nov 13, 2004
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add directory in wxWidgets
Update TODO
parent
5b903151
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
80 additions
and
4 deletions
+80
-4
TODO
TODO
+0
-3
include/vlc_common.h
include/vlc_common.h
+1
-0
include/vlc_interface.h
include/vlc_interface.h
+2
-0
include/vlc_playlist.h
include/vlc_playlist.h
+10
-0
modules/gui/wxwindows/dialogs.cpp
modules/gui/wxwindows/dialogs.cpp
+35
-0
modules/gui/wxwindows/playlist.cpp
modules/gui/wxwindows/playlist.cpp
+10
-1
modules/gui/wxwindows/wxwindows.h
modules/gui/wxwindows/wxwindows.h
+2
-0
src/playlist/item-ext.c
src/playlist/item-ext.c
+20
-0
No files found.
TODO
View file @
12f48a5b
...
...
@@ -123,7 +123,6 @@ Todo:<br />
- Helper modules<br />
- ** ASX and B4S parsers (see below)<br />
- * Rewrite SLP announce discovery<br />
- *** Finish new SAP parser (see above)<br />
- ** Adapt CDDAX<br />
- ** Fix MP4, LIVE.COM<br />
- *** Implement in MacOS X and Skins 2 interfaces<br />
...
...
@@ -132,11 +131,9 @@ Todo:<br />
- ** Support item move/copy<br />
- * Explorer view<br />
- *** Fix search<br />
- *** Play Node vs Play all<br />
- ** Clever update using i_serial<br />
- * Playlist preferences panel<br />
- ** Improve iteminfo dialog<br />
- ** Support item types<br />
Status: Assigned to zorglub
Task
...
...
include/vlc_common.h
View file @
12f48a5b
...
...
@@ -223,6 +223,7 @@ typedef struct playlist_view_t playlist_view_t;
typedef
struct
playlist_export_t
playlist_export_t
;
typedef
struct
services_discovery_t
services_discovery_t
;
typedef
struct
services_discovery_sys_t
services_discovery_sys_t
;
typedef
struct
playlist_add_t
playlist_add_t
;
/* Modules */
typedef
struct
module_bank_t
module_bank_t
;
...
...
include/vlc_interface.h
View file @
12f48a5b
...
...
@@ -142,6 +142,8 @@ VLC_EXPORT( void, intf_Destroy, ( intf_thread_t * ) );
#define INTF_DIALOG_CAPTURE 5
#define INTF_DIALOG_SAT 6
#define INTF_DIALOG_DIRECTORY 7
#define INTF_DIALOG_STREAMWIZARD 8
#define INTF_DIALOG_WIZARD 9
...
...
include/vlc_playlist.h
View file @
12f48a5b
...
...
@@ -194,6 +194,15 @@ struct playlist_t
/*@}*/
};
/* Helper to add an item */
struct
playlist_add_t
{
playlist_item_t
*
p_parent
;
playlist_item_t
*
p_item
;
int
i_view
;
int
i_position
;
};
#define SORT_ID 0
#define SORT_TITLE 1
#define SORT_AUTHOR 2
...
...
@@ -296,6 +305,7 @@ VLC_EXPORT( void, playlist_ItemToNode, (playlist_t *,playlist_item_t *) );
VLC_EXPORT
(
playlist_item_t
*
,
playlist_ItemGetById
,
(
playlist_t
*
,
int
)
);
VLC_EXPORT
(
playlist_item_t
*
,
playlist_ItemGetByPos
,
(
playlist_t
*
,
int
)
);
VLC_EXPORT
(
int
,
playlist_GetPositionById
,
(
playlist_t
*
,
int
)
);
VLC_EXPORT
(
playlist_item_t
*
,
playlist_ItemGetByInput
,
(
playlist_t
*
,
input_item_t
*
)
);
/* Info functions */
VLC_EXPORT
(
char
*
,
playlist_GetInfo
,
(
playlist_t
*
,
int
,
const
char
*
,
const
char
*
)
);
...
...
modules/gui/wxwindows/dialogs.cpp
View file @
12f48a5b
...
...
@@ -60,6 +60,7 @@ private:
void
OnOpenFileGeneric
(
wxCommandEvent
&
event
);
void
OnOpenFileSimple
(
wxCommandEvent
&
event
);
void
OnOpenDirectory
(
wxCommandEvent
&
event
);
void
OnOpenFile
(
wxCommandEvent
&
event
);
void
OnOpenDisc
(
wxCommandEvent
&
event
);
void
OnOpenNet
(
wxCommandEvent
&
event
);
...
...
@@ -80,6 +81,7 @@ public:
/* Secondary windows */
OpenDialog
*
p_open_dialog
;
wxFileDialog
*
p_file_dialog
;
wxDirDialog
*
p_dir_dialog
;
Playlist
*
p_playlist_dialog
;
Messages
*
p_messages_dialog
;
FileInfo
*
p_fileinfo_dialog
;
...
...
@@ -105,6 +107,8 @@ BEGIN_EVENT_TABLE(DialogsProvider, wxFrame)
DialogsProvider
::
OnOpenFileSimple
)
EVT_COMMAND
(
INTF_DIALOG_FILE_GENERIC
,
wxEVT_DIALOG
,
DialogsProvider
::
OnOpenFileGeneric
)
EVT_COMMAND
(
INTF_DIALOG_DIRECTORY
,
wxEVT_DIALOG
,
DialogsProvider
::
OnOpenDirectory
)
EVT_COMMAND
(
INTF_DIALOG_PLAYLIST
,
wxEVT_DIALOG
,
DialogsProvider
::
OnPlaylist
)
...
...
@@ -365,6 +369,37 @@ void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
vlc_object_release
(
p_playlist
);
}
void
DialogsProvider
::
OnOpenDirectory
(
wxCommandEvent
&
event
)
{
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
if
(
p_dir_dialog
==
NULL
)
p_dir_dialog
=
new
wxDirDialog
(
NULL
);
if
(
p_dir_dialog
&&
p_dir_dialog
->
ShowModal
()
==
wxID_OK
)
{
playlist_item_t
*
p_item
;
wxString
path
=
p_dir_dialog
->
GetPath
();
int
i_id
=
playlist_Add
(
p_playlist
,
(
const
char
*
)
path
.
mb_str
(),
(
const
char
*
)
path
.
mb_str
(),
PLAYLIST_APPEND
,
PLAYLIST_END
);
p_item
=
playlist_ItemGetById
(
p_playlist
,
i_id
);
if
(
p_item
)
{
input_CreateThread
(
p_intf
,
&
p_item
->
input
);
}
}
vlc_object_release
(
p_playlist
);
}
void
DialogsProvider
::
OnOpenFile
(
wxCommandEvent
&
event
)
{
Open
(
FILE_ACCESS
,
event
.
GetInt
()
);
...
...
modules/gui/wxwindows/playlist.cpp
View file @
12f48a5b
...
...
@@ -65,6 +65,7 @@ enum
{
/* menu items */
AddFile_Event
=
1
,
AddDir_Event
,
AddMRL_Event
,
Close_Event
,
Open_Event
,
...
...
@@ -123,6 +124,7 @@ BEGIN_EVENT_TABLE(Playlist, wxFrame)
/* Menu events */
EVT_MENU
(
AddFile_Event
,
Playlist
::
OnAddFile
)
EVT_MENU
(
AddDir_Event
,
Playlist
::
OnAddDir
)
EVT_MENU
(
AddMRL_Event
,
Playlist
::
OnAddMRL
)
EVT_MENU
(
Close_Event
,
Playlist
::
OnClose
)
EVT_MENU
(
Open_Event
,
Playlist
::
OnOpen
)
...
...
@@ -226,7 +228,8 @@ Playlist::Playlist( intf_thread_t *_p_intf, wxWindow *p_parent ):
/* Create our "Manage" menu */
wxMenu
*
manage_menu
=
new
wxMenu
;
manage_menu
->
Append
(
AddFile_Event
,
wxU
(
_
(
"&Simple Add..."
))
);
manage_menu
->
Append
(
AddFile_Event
,
wxU
(
_
(
"&Simple Add File..."
))
);
manage_menu
->
Append
(
AddDir_Event
,
wxU
(
_
(
"Add &Directory..."
))
);
manage_menu
->
Append
(
AddMRL_Event
,
wxU
(
_
(
"&Add MRL..."
))
);
manage_menu
->
AppendSeparator
();
manage_menu
->
Append
(
MenuDummy_Event
,
wxU
(
_
(
"Services discovery"
)),
...
...
@@ -854,6 +857,12 @@ void Playlist::OnAddFile( wxCommandEvent& WXUNUSED(event) )
}
void
Playlist
::
OnAddDir
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
{
p_intf
->
p_sys
->
pf_show_dialog
(
p_intf
,
INTF_DIALOG_DIRECTORY
,
0
,
0
);
}
void
Playlist
::
OnAddMRL
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
{
p_intf
->
p_sys
->
pf_show_dialog
(
p_intf
,
INTF_DIALOG_FILE
,
0
,
0
);
...
...
modules/gui/wxwindows/wxwindows.h
View file @
12f48a5b
...
...
@@ -326,6 +326,7 @@ private:
void
OnAbout
(
wxCommandEvent
&
event
);
void
OnOpenFileSimple
(
wxCommandEvent
&
event
);
void
OnOpenDir
(
wxCommandEvent
&
event
);
void
OnOpenFile
(
wxCommandEvent
&
event
);
void
OnOpenDisc
(
wxCommandEvent
&
event
);
void
OnOpenNet
(
wxCommandEvent
&
event
);
...
...
@@ -791,6 +792,7 @@ private:
/* Menu Handlers */
void
OnAddFile
(
wxCommandEvent
&
event
);
void
OnAddDir
(
wxCommandEvent
&
event
);
void
OnAddMRL
(
wxCommandEvent
&
event
);
void
OnClose
(
wxCommandEvent
&
event
);
void
OnSearch
(
wxCommandEvent
&
event
);
...
...
src/playlist/item-ext.c
View file @
12f48a5b
...
...
@@ -425,6 +425,26 @@ playlist_item_t * playlist_ItemGetById( playlist_t * p_playlist , int i_id )
return
NULL
;
}
/**
* Search an item by its input_item_t
*
* \param p_playlist the playlist
* \param p_item the input_item_t to find
* \return the item, or NULL on failure
*/
playlist_item_t
*
playlist_ItemGetByInput
(
playlist_t
*
p_playlist
,
input_item_t
*
p_item
)
{
int
i
;
for
(
i
=
0
;
i
<
p_playlist
->
i_size
;
i
++
)
{
if
(
&
p_playlist
->
pp_items
[
i
]
->
input
==
p_item
)
{
return
p_playlist
->
pp_items
[
i
];
}
}
return
NULL
;
}
...
...
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