X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2Fplaylist.h;h=8c6f9ff4c9a7afbb6e24debb93a10221d24036e7;hb=f956a68eb889593c3aa194004dbe984f5633145c;hp=d843b68c4d93f55d1c094f07d557a6a8ef6426ba;hpb=699e4bb62df2e5b70a4f08c179686af1369a1a21;p=vlc diff --git a/modules/gui/macosx/playlist.h b/modules/gui/macosx/playlist.h index d843b68c4d..8c6f9ff4c9 100644 --- a/modules/gui/macosx/playlist.h +++ b/modules/gui/macosx/playlist.h @@ -1,17 +1,18 @@ /***************************************************************************** * playlist.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2002-2004 VideoLAN + * Copyright (C) 2002-2012 VLC authors and VideoLAN * $Id$ * * Authors: Jon Lech Johansen * Derk-Jan Hartman + * Felix Paul Kühne * * This program is free software; you can redistribute it and/or modify * 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,11 +20,25 @@ * * 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. *****************************************************************************/ +#import "PXSourceList.h" + +/* playlist column definitions */ +#define TRACKNUM_COLUMN @"tracknumber" +#define TITLE_COLUMN @"name" +#define ARTIST_COLUMN @"artist" +#define DURATION_COLUMN @"duration" +#define GENRE_COLUMN @"genre" +#define ALBUM_COLUMN @"album" +#define DESCRIPTION_COLUMN @"description" +#define DATE_COLUMN @"date" +#define LANGUAGE_COLUMN @"language" +#define URI_COLUMN @"uri" + /***************************************************************************** - * VLCPlaylistView interface + * VLCPlaylistView interface *****************************************************************************/ @interface VLCPlaylistView : NSOutlineView { @@ -32,63 +47,110 @@ @end /***************************************************************************** - * VLCPlaylist interface + * VLCPlaylistCommon interface + *****************************************************************************/ +@interface VLCPlaylistCommon : NSObject +{ + IBOutlet VLCPlaylistView* o_outline_view; + + IBOutlet id o_tc_name_other; + IBOutlet id o_tc_author_other; + IBOutlet id o_tc_duration_other; + IBOutlet VLCPlaylistView* o_outline_view_other; + + NSMutableDictionary *o_outline_dict; + playlist_item_t * p_current_root_item; +} + +- (void)setPlaylistRoot: (playlist_item_t *)root_item; +- (playlist_item_t *)currentPlaylistRoot; +- (playlist_item_t *)selectedPlaylistItem; +- (NSOutlineView *)outlineView; +@end + +/***************************************************************************** + * VLCPlaylistWizard interface + *****************************************************************************/ +@interface VLCPlaylistWizard : VLCPlaylistCommon +{ +} + +- (IBAction)reloadOutlineView; + +@end + +/***************************************************************************** + * VLCPlaylist interface *****************************************************************************/ -@interface VLCPlaylist : NSObject +@interface VLCPlaylist : VLCPlaylistCommon { IBOutlet id o_controller; + IBOutlet id o_playlist_wizard; IBOutlet id o_btn_playlist; - IBOutlet id o_outline_view; - IBOutlet id o_tc_name; - IBOutlet id o_tc_author; - IBOutlet id o_tc_duration; - IBOutlet id o_status_field; + IBOutlet id o_playlist_view; IBOutlet id o_search_field; - IBOutlet id o_random_ckb; - IBOutlet id o_loop_popup; + 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_save_accessory_view; + IBOutlet id o_save_accessory_popup; + IBOutlet id o_save_accessory_text; + + IBOutlet id o_playlist_header; NSImage *o_descendingSortingImage; NSImage *o_ascendingSortingImage; - NSMutableDictionary *o_outline_dict; + NSMutableArray *o_nodes_array; + NSMutableArray *o_items_array; BOOL b_selected_item_met; BOOL b_isSortDescending; - int i_current_view; id o_tc_sortColumn; } -- (void)initStrings; +- (void)searchfieldChanged:(NSNotification *)o_notification; - (NSMenu *)menuForEvent:(NSEvent *)o_event; -- (NSOutlineView *)playlistView; -- (IBAction)handlePopUp:(id)sender; - (IBAction)searchItem:(id)sender; -- (void)updateTogglePlaylistState; - (void)playlistUpdated; +- (void)outlineViewSelectionDidChange:(NSNotification *)notification; - (void)sortNode:(int)i_mode; - (void)updateRowSelection; +- (BOOL)isSelectionEmpty; + - (IBAction)playItem:(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)sortNodeByName:(id)sender; - (IBAction)sortNodeByAuthor:(id)sender; +- (IBAction)recursiveExpandNode:(id)sender; -- (void)appendArray:(NSArray*)o_array atPos:(int)i_position enqueue:(BOOL)b_enqueue; +- (id)playingItem; +- (NSArray *)draggedItems; -- (playlist_item_t *)selectedPlaylistItem; +- (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; +- (void)setColumn: (NSString *)o_column state: (NSInteger)i_state; @end -