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
b0e0bc12
Commit
b0e0bc12
authored
Sep 14, 2005
by
Yoann Peronneau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/gui/ncurses.c: Filebrowser enhancements:
- sorting - show/hide hidden files (with '.')
parent
7a704aea
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
2 deletions
+39
-2
modules/gui/ncurses.c
modules/gui/ncurses.c
+39
-2
No files found.
modules/gui/ncurses.c
View file @
b0e0bc12
...
...
@@ -164,6 +164,7 @@ struct intf_sys_t
char
*
psz_current_dir
;
int
i_dir_entries
;
struct
dir_entry_t
**
pp_dir_entries
;
vlc_bool_t
b_show_hidden_files
;
int
i_current_view
;
/* playlist view */
struct
pl_item_t
**
pp_plist
;
...
...
@@ -253,6 +254,7 @@ static int Open( vlc_object_t *p_this )
p_sys
->
i_dir_entries
=
0
;
p_sys
->
pp_dir_entries
=
NULL
;
p_sys
->
b_show_hidden_files
=
VLC_FALSE
;
ReadDir
(
p_intf
);
return
VLC_SUCCESS
;
...
...
@@ -561,6 +563,11 @@ static int HandleKey( intf_thread_t *p_intf, int i_key )
case
KEY_NPAGE
:
p_sys
->
i_box_bidx
+=
p_sys
->
i_box_lines
;
break
;
case
'.'
:
/* Toggle show hidden files */
p_sys
->
b_show_hidden_files
=
(
p_sys
->
b_show_hidden_files
==
VLC_TRUE
?
VLC_FALSE
:
VLC_TRUE
);
ReadDir
(
p_intf
);
break
;
case
KEY_ENTER
:
case
0x0d
:
...
...
@@ -1266,6 +1273,7 @@ static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh )
MainBoxWrite
(
p_intf
,
l
++
,
1
,
"[Filebrowser]"
);
MainBoxWrite
(
p_intf
,
l
++
,
1
,
" <enter> Add the selected file to the playlist"
);
MainBoxWrite
(
p_intf
,
l
++
,
1
,
" <space> Add the selected directory to the playlist"
);
MainBoxWrite
(
p_intf
,
l
++
,
1
,
" . Show/Hide hidden files"
);
MainBoxWrite
(
p_intf
,
l
++
,
1
,
""
);
MainBoxWrite
(
p_intf
,
l
++
,
1
,
"[Boxes]"
);
...
...
@@ -1419,7 +1427,7 @@ static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh )
{
attrset
(
A_REVERSE
);
}
mvnprintw
(
y
++
,
1
,
COLS
-
2
,
"
%c %s"
,
p_sys
->
pp_dir_entries
[
i_item
]
->
b_file
==
VLC_TRUE
?
'-
'
:
'+'
,
mvnprintw
(
y
++
,
1
,
COLS
-
2
,
"
%c %s"
,
p_sys
->
pp_dir_entries
[
i_item
]
->
b_file
==
VLC_TRUE
?
'
'
:
'+'
,
p_sys
->
pp_dir_entries
[
i_item
]
->
psz_path
);
if
(
b_selected
)
{
...
...
@@ -1823,6 +1831,20 @@ static void Eject( intf_thread_t *p_intf )
return
;
}
static
int
comp_dir_entries
(
const
void
*
pp_dir_entry1
,
const
void
*
pp_dir_entry2
)
{
struct
dir_entry_t
*
p_dir_entry1
=
*
(
struct
dir_entry_t
**
)
pp_dir_entry1
;
struct
dir_entry_t
*
p_dir_entry2
=
*
(
struct
dir_entry_t
**
)
pp_dir_entry2
;
if
(
p_dir_entry1
->
b_file
==
p_dir_entry2
->
b_file
)
{
return
strcasecmp
(
p_dir_entry1
->
psz_path
,
p_dir_entry2
->
psz_path
);
}
else
{
return
(
p_dir_entry1
->
b_file
?
1
:
-
1
);
}
}
static
void
ReadDir
(
intf_thread_t
*
p_intf
)
{
intf_sys_t
*
p_sys
=
p_intf
->
p_sys
;
...
...
@@ -1870,8 +1892,18 @@ static void ReadDir( intf_thread_t *p_intf )
struct
dir_entry_t
*
p_dir_entry
;
int
i_size_entry
=
strlen
(
p_sys
->
psz_current_dir
)
+
strlen
(
p_dir_content
->
d_name
)
+
2
;
char
*
psz_uri
=
(
char
*
)
malloc
(
sizeof
(
char
)
*
i_size_entry
);
char
*
psz_uri
;
if
(
p_sys
->
b_show_hidden_files
==
VLC_FALSE
&&
(
strlen
(
p_dir_content
->
d_name
)
&&
p_dir_content
->
d_name
[
0
]
==
'.'
)
&&
strcmp
(
p_dir_content
->
d_name
,
".."
)
)
{
p_dir_content
=
readdir
(
p_current_dir
);
continue
;
}
psz_uri
=
(
char
*
)
malloc
(
sizeof
(
char
)
*
i_size_entry
);
sprintf
(
psz_uri
,
"%s/%s"
,
p_sys
->
psz_current_dir
,
p_dir_content
->
d_name
);
...
...
@@ -1907,6 +1939,11 @@ static void ReadDir( intf_thread_t *p_intf )
/* Read next entry */
p_dir_content
=
readdir
(
p_current_dir
);
}
/* Sort */
qsort
(
p_sys
->
pp_dir_entries
,
p_sys
->
i_dir_entries
,
sizeof
(
struct
dir_entry_t
*
),
&
comp_dir_entries
);
closedir
(
p_current_dir
);
return
;
}
...
...
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