X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2Fplaylist.h;h=96cee08f15b3f482fe5d709d0413bc106f0c0a85;hb=223286529bb015c350f9839b4fcdb03ea59b2c7a;hp=346ac1e3d6199ca364db8dfb66f8985d508e6aa6;hpb=cbd4b6ac993dbc1d60cbbd4302eb7912c8f2ddc1;p=vlc diff --git a/modules/gui/macosx/playlist.h b/modules/gui/macosx/playlist.h index 346ac1e3d6..96cee08f15 100644 --- a/modules/gui/macosx/playlist.h +++ b/modules/gui/macosx/playlist.h @@ -1,8 +1,8 @@ /***************************************************************************** * playlist.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2002-2004 VideoLAN - * $Id: playlist.h,v 1.21 2004/02/06 04:51:02 hartman Exp $ + * Copyright (C) 2002-2006 the VideoLAN team + * $Id$ * * Authors: Jon Lech Johansen * Derk-Jan Hartman @@ -11,7 +11,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -19,68 +19,141 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** - * VLCPlaylistView interface + * VLCPlaylistView interface *****************************************************************************/ -@interface VLCPlaylistView : NSTableView +@interface VLCPlaylistView : NSOutlineView { } @end /***************************************************************************** - * VLCPlaylist interface + * VLCPlaylistCommon interface *****************************************************************************/ -@interface VLCPlaylist : NSObject +@interface VLCPlaylistCommon : NSObject { - int i_moveRow; - bool b_isSortDescending; - - IBOutlet id o_window; - IBOutlet id o_btn_playlist; - IBOutlet id o_table_view; - - IBOutlet id o_status_field; - IBOutlet id o_tc_id; IBOutlet id o_tc_name; IBOutlet id o_tc_author; IBOutlet id o_tc_duration; - IBOutlet id o_tc_sortColumn; + IBOutlet id o_outline_view; - IBOutlet id o_ctx_menu; + IBOutlet id o_tc_name_other; + IBOutlet id o_tc_author_other; + IBOutlet id o_tc_duration_other; + IBOutlet id o_outline_view_other; + + NSMutableDictionary *o_outline_dict; +} + +- (void)initStrings; +- (playlist_item_t *)selectedPlaylistItem; +- (NSOutlineView *)outlineView; +- (void)swapPlaylists:(id)newList; +@end + +/***************************************************************************** + * VLCPlaylistWizard interface + *****************************************************************************/ +@interface VLCPlaylistWizard : VLCPlaylistCommon +{ +} + +- (IBAction)reloadOutlineView; + +@end + +/***************************************************************************** + * VLCPlaylist interface + *****************************************************************************/ +@interface VLCPlaylist : VLCPlaylistCommon +{ + IBOutlet id o_controller; + IBOutlet id o_playlist_wizard; + + IBOutlet id o_btn_playlist; + IBOutlet id o_playlist_view; + IBOutlet id o_sidebar; + IBOutlet id o_status_field; + IBOutlet id o_status_field_embed; + IBOutlet id o_search_field; + IBOutlet id o_search_field_other; IBOutlet id o_mi_save_playlist; + IBOutlet id o_ctx_menu; + IBOutlet id o_mi_play; IBOutlet id o_mi_delete; + IBOutlet id o_mi_info; + IBOutlet id o_mi_preparse; + IBOutlet id o_mi_revealInFinder; + IBOutlet id o_mm_mi_revealInFinder; + IBOutlet id o_mi_dl_cover_art; IBOutlet id o_mi_selectall; + IBOutlet id o_mi_sort_name; + IBOutlet id o_mi_sort_author; + IBOutlet id o_mi_recursive_expand; - IBOutlet id o_random_ckb; - IBOutlet id o_loop_ckb; - IBOutlet id o_repeat_ckb; + /* "services discovery" menu in the playlist menu */ + IBOutlet id o_mi_services; + IBOutlet id o_mu_services; + + /* "services discovery" menu in the main menu */ + IBOutlet id o_mm_mi_services; + IBOutlet id o_mm_mu_services; + + IBOutlet id o_save_accessory_view; + IBOutlet id o_save_accessory_popup; + IBOutlet id o_save_accessory_text; - IBOutlet id o_search_keyword; - IBOutlet id o_search_button; NSImage *o_descendingSortingImage; NSImage *o_ascendingSortingImage; + NSMutableArray *o_nodes_array; + NSMutableArray *o_items_array; + + BOOL b_selected_item_met; + BOOL b_isSortDescending; + id o_tc_sortColumn; + + /* "add node" button and menu entry */ + IBOutlet id o_mi_addNode; + IBOutlet id o_btn_addNode; } -- (void)initStrings; +- (void)searchfieldChanged:(NSNotification *)o_notification; - (NSMenu *)menuForEvent:(NSEvent *)o_event; -- (IBAction)toggleWindow:(id)sender; -- (IBAction)savePlaylist:(id)sender; +- (IBAction)searchItem:(id)sender; + +- (void)playlistUpdated; +- (void)playModeUpdated; +- (void)sortNode:(int)i_mode; +- (void)updateRowSelection; + +- (BOOL)isSelectionEmpty; + +- (IBAction)servicesChange:(id)sender; - (IBAction)playItem:(id)sender; -- (IBAction)deleteItems:(id)sender; +- (IBAction)revealItemInFinder:(id)sender; +- (IBAction)preparseItem:(id)sender; +- (IBAction)downloadCoverArt:(id)sender; +- (IBAction)savePlaylist:(id)sender; +- (IBAction)deleteItem:(id)sender; - (IBAction)selectAll:(id)sender; -- (IBAction)searchItem:(id)sender; +- (IBAction)sortNodeByName:(id)sender; +- (IBAction)sortNodeByAuthor:(id)sender; +- (IBAction)recursiveExpandNode:(id)sender; -- (void)appendArray:(NSArray*)o_array atPos:(int)i_position enqueue:(BOOL)b_enqueue; +- (IBAction)addNode:(id)sender; -- (void)updateRowSelection; -- (void)playlistUpdated; +- (void)playSidebarItem:(id)item; +- (id)playingItem; + +- (void)appendArray:(NSArray*)o_array atPos:(int)i_position enqueue:(BOOL)b_enqueue; +- (void)appendNodeArray:(NSArray*)o_array inNode:(playlist_item_t *)p_node atPos:(int)i_position enqueue:(BOOL)b_enqueue; @end