Changeset aaf50f16cfb838418703d90ee3e62bd0e649b978
- Timestamp:
- 15/01/08 11:40:47
(11 months ago)
- Author:
- Rafaël Carré <funman@videolan.org>
- git-committer:
- Rafaël Carré <funman@videolan.org> 1200393647 +0000
- git-parent:
[ab8ac15710d38ae627b8269436470205b908fcb8]
- git-author:
- Rafaël Carré <funman@videolan.org> 1200393647 +0000
- Message:
ncurses: new box representing the vlc objects hierarchy (similar to rc's "tree" command)
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r9bd7b37 |
raaf50f1 |
|
| 137 | 137 | BOX_OPEN, |
|---|
| 138 | 138 | BOX_BROWSE, |
|---|
| 139 | | BOX_META |
|---|
| | 139 | BOX_META, |
|---|
| | 140 | BOX_OBJECTS |
|---|
| 140 | 141 | }; |
|---|
| 141 | 142 | enum |
|---|
| … | … | |
| 807 | 808 | } |
|---|
| 808 | 809 | else if( p_sys->i_box_type == BOX_HELP || p_sys->i_box_type == BOX_INFO || |
|---|
| 809 | | p_sys->i_box_type == BOX_META ) |
|---|
| | 810 | p_sys->i_box_type == BOX_META || p_sys->i_box_type == BOX_OBJECTS ) |
|---|
| 810 | 811 | { |
|---|
| 811 | 812 | switch( i_key ) |
|---|
| … | … | |
| 1069 | 1070 | p_sys->i_box_type = BOX_BROWSE; |
|---|
| 1070 | 1071 | return 1; |
|---|
| | 1072 | case 'x': |
|---|
| | 1073 | if( p_sys->i_box_type == BOX_OBJECTS ) |
|---|
| | 1074 | p_sys->i_box_type = BOX_NONE; |
|---|
| | 1075 | else |
|---|
| | 1076 | p_sys->i_box_type = BOX_OBJECTS; |
|---|
| | 1077 | return 1; |
|---|
| 1071 | 1078 | case 'c': |
|---|
| 1072 | 1079 | p_sys->b_color = !p_sys->b_color; |
|---|
| … | … | |
| 1453 | 1460 | } |
|---|
| 1454 | 1461 | |
|---|
| | 1462 | static void DumpObject( intf_thread_t *p_intf, int *l, vlc_object_t *p_obj, int i_level ) |
|---|
| | 1463 | { |
|---|
| | 1464 | vlc_object_yield( p_obj ); |
|---|
| | 1465 | |
|---|
| | 1466 | if( p_obj->psz_object_name ) |
|---|
| | 1467 | MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s \"%s\" (%d)", |
|---|
| | 1468 | p_obj->psz_object_type, p_obj->psz_object_name, |
|---|
| | 1469 | p_obj->i_object_id ); |
|---|
| | 1470 | else |
|---|
| | 1471 | MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s (%d)", |
|---|
| | 1472 | p_obj->psz_object_type, p_obj->i_object_id ); |
|---|
| | 1473 | int i; |
|---|
| | 1474 | for( i = 0; i < p_obj->i_children ; i++ ) |
|---|
| | 1475 | { |
|---|
| | 1476 | MainBoxWrite( p_intf, *l, 1 + 2 * i_level, |
|---|
| | 1477 | i == p_obj->i_children - 1 ? "`-" : "|-" ); |
|---|
| | 1478 | DumpObject( p_intf, l, p_obj->pp_children[i], i_level + 1 ); |
|---|
| | 1479 | } |
|---|
| | 1480 | |
|---|
| | 1481 | vlc_object_release( p_obj ); |
|---|
| | 1482 | } |
|---|
| | 1483 | |
|---|
| 1455 | 1484 | static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh ) |
|---|
| 1456 | 1485 | { |
|---|
| … | … | |
| 1605 | 1634 | MainBoxWrite( p_intf, l++, 1, _(" P Show/Hide playlist box") ); |
|---|
| 1606 | 1635 | MainBoxWrite( p_intf, l++, 1, _(" B Show/Hide filebrowser") ); |
|---|
| | 1636 | MainBoxWrite( p_intf, l++, 1, _(" x Show/Hide objects box") ); |
|---|
| 1607 | 1637 | MainBoxWrite( p_intf, l++, 1, _(" c Switch color on/off") ); |
|---|
| 1608 | 1638 | MainBoxWrite( p_intf, l++, 1, _(" Esc Close Add/Search entry") ); |
|---|
| … | … | |
| 1936 | 1966 | |
|---|
| 1937 | 1967 | } |
|---|
| | 1968 | else if( p_sys->i_box_type == BOX_OBJECTS ) |
|---|
| | 1969 | { |
|---|
| | 1970 | int l = 0; |
|---|
| | 1971 | DrawBox( p_sys->w, y++, 0, h, COLS, _(" Objects "), p_sys->b_color ); |
|---|
| | 1972 | DumpObject( p_intf, &l, VLC_OBJECT( p_intf->p_libvlc ), 0 ); |
|---|
| | 1973 | |
|---|
| | 1974 | p_sys->i_box_lines_total = l; |
|---|
| | 1975 | if( p_sys->i_box_start >= p_sys->i_box_lines_total ) |
|---|
| | 1976 | p_sys->i_box_start = p_sys->i_box_lines_total - 1; |
|---|
| | 1977 | |
|---|
| | 1978 | if( l - p_sys->i_box_start < p_sys->i_box_lines ) |
|---|
| | 1979 | y += l - p_sys->i_box_start; |
|---|
| | 1980 | else |
|---|
| | 1981 | y += p_sys->i_box_lines; |
|---|
| | 1982 | } |
|---|
| 1938 | 1983 | else if( p_sys->i_box_type == BOX_PLAYLIST || |
|---|
| 1939 | 1984 | p_sys->i_box_type == BOX_SEARCH || |
|---|