Commit 90376941 authored by Benjamin Pracht's avatar Benjamin Pracht

* Use the playlist info panel instead of the old one everywhere

	- old VLCInfo and InfoPanel have been removed from nib file
	- VLCPlaylistInfo and PlaylistInfoPanel have been renamed
	- old info.c and info.h are still in repository, but not compiled, should I remove them ?
parent 4a3df555
...@@ -52,10 +52,34 @@ ...@@ -52,10 +52,34 @@
SUPERCLASS = NSObject; SUPERCLASS = NSObject;
}, },
{ {
ACTIONS = {showCategory = id; toggleInfoPanel = id; }; ACTIONS = {
createOutlineGroup = id;
deleteOutlineGroup = id;
handleGroup = id;
infoCancel = id;
infoOk = id;
toggleInfoPanel = id;
togglePlaylistInfoPanel = id;
};
CLASS = VLCInfo; CLASS = VLCInfo;
LANGUAGE = ObjC; LANGUAGE = ObjC;
OUTLETS = {"o_selector" = id; "o_view" = id; "o_window" = id; }; OUTLETS = {
"o_author_lbl" = id;
"o_author_txt" = id;
"o_btn_add_group" = id;
"o_btn_cancel" = id;
"o_btn_delete_group" = id;
"o_btn_ok" = id;
"o_group_cbx" = id;
"o_group_color" = id;
"o_group_lbl" = id;
"o_info_window" = id;
"o_outline_view" = id;
"o_title_lbl" = id;
"o_title_txt" = id;
"o_uri_lbl" = id;
"o_uri_txt" = id;
};
SUPERCLASS = NSObject; SUPERCLASS = NSObject;
}, },
{ {
...@@ -96,15 +120,12 @@ ...@@ -96,15 +120,12 @@
"o_err_msg" = id; "o_err_msg" = id;
"o_error" = id; "o_error" = id;
"o_info" = id; "o_info" = id;
"o_info_window" = id;
"o_messages" = id; "o_messages" = id;
"o_mi_about" = id; "o_mi_about" = id;
"o_mi_add_intf" = id; "o_mi_add_intf" = id;
"o_mi_audiotrack" = id; "o_mi_audiotrack" = id;
"o_mi_bring_atf" = id; "o_mi_bring_atf" = id;
"o_mi_bwd" = id; "o_mi_bwd" = id;
"o_mi_bwd1m" = id;
"o_mi_bwd5m" = id;
"o_mi_channels" = id; "o_mi_channels" = id;
"o_mi_chapter" = id; "o_mi_chapter" = id;
"o_mi_clear" = id; "o_mi_clear" = id;
...@@ -121,8 +142,6 @@ ...@@ -121,8 +142,6 @@
"o_mi_floatontop" = id; "o_mi_floatontop" = id;
"o_mi_fullscreen" = id; "o_mi_fullscreen" = id;
"o_mi_fwd" = id; "o_mi_fwd" = id;
"o_mi_fwd1m" = id;
"o_mi_fwd5m" = id;
"o_mi_half_window" = id; "o_mi_half_window" = id;
"o_mi_hide" = id; "o_mi_hide" = id;
"o_mi_hide_others" = id; "o_mi_hide_others" = id;
...@@ -371,37 +390,6 @@ ...@@ -371,37 +390,6 @@
}; };
SUPERCLASS = NSObject; SUPERCLASS = NSObject;
}, },
{
ACTIONS = {
createOutlineGroup = id;
deleteOutlineGroup = id;
handleGroup = id;
infoCancel = id;
infoOk = id;
togglePlaylistInfoPanel = id;
};
CLASS = VLCPlaylistInfo;
LANGUAGE = ObjC;
OUTLETS = {
"o_author_lbl" = id;
"o_author_txt" = id;
"o_btn_add_group" = id;
"o_btn_cancel" = id;
"o_btn_delete_group" = id;
"o_btn_ok" = id;
"o_group_cbx" = id;
"o_group_color" = id;
"o_group_lbl" = id;
"o_info_window" = id;
"o_outline_view" = id;
"o_title_lbl" = id;
"o_title_txt" = id;
"o_uri_lbl" = id;
"o_uri_txt" = id;
"o_vlc_playlist" = id;
};
SUPERCLASS = NSObject;
},
{CLASS = VLCPlaylistView; LANGUAGE = ObjC; SUPERCLASS = NSTableView; }, {CLASS = VLCPlaylistView; LANGUAGE = ObjC; SUPERCLASS = NSTableView; },
{ {
ACTIONS = {advancedToggle = id; closePrefs = id; resetAll = id; savePrefs = id; }; ACTIONS = {advancedToggle = id; closePrefs = id; resetAll = id; savePrefs = id; };
......
...@@ -3,18 +3,18 @@ ...@@ -3,18 +3,18 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>219 45 505 517 0 0 800 578 </string> <string>457 229 505 517 0 0 1024 746 </string>
<key>IBEditorPositions</key> <key>IBEditorPositions</key>
<dict> <dict>
<key>1617</key> <key>1617</key>
<string>542 480 104 149 0 0 1024 746 </string> <string>542 480 104 149 0 0 1024 746 </string>
<key>29</key> <key>29</key>
<string>117 522 419 44 0 0 800 578 </string> <string>186 686 419 44 0 0 1024 746 </string>
<key>915</key> <key>915</key>
<string>54 452 118 149 0 0 1024 746 </string> <string>54 452 185 199 0 0 1024 746 </string>
</dict> </dict>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>364.0</string> <string>362.0</string>
<key>IBLockedObjects</key> <key>IBLockedObjects</key>
<array> <array>
<integer>1789</integer> <integer>1789</integer>
...@@ -22,8 +22,6 @@ ...@@ -22,8 +22,6 @@
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>21</integer> <integer>21</integer>
<integer>29</integer>
<integer>1789</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>7F44</string> <string>7F44</string>
......
...@@ -7,8 +7,6 @@ SOURCES_macosx = \ ...@@ -7,8 +7,6 @@ SOURCES_macosx = \
controls.m \ controls.m \
intf.m \ intf.m \
intf.h \ intf.h \
info.h \
info.m \
macosx.m \ macosx.m \
misc.m \ misc.m \
misc.h \ misc.h \
......
...@@ -239,6 +239,7 @@ struct intf_sys_t ...@@ -239,6 +239,7 @@ struct intf_sys_t
- (id)getControls; - (id)getControls;
- (id)getPlaylist; - (id)getPlaylist;
- (id)getInfo;
- (void)terminate; - (void)terminate;
- (void)initStrings; - (void)initStrings;
......
...@@ -687,6 +687,15 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -687,6 +687,15 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
return nil; return nil;
} }
- (id)getInfo
{
if ( o_info )
{
return o_info;
}
return nil;
}
- (void)manage - (void)manage
{ {
NSDate * o_sleep_date; NSDate * o_sleep_date;
...@@ -811,7 +820,7 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -811,7 +820,7 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
vlc_object_release( (vlc_object_t *)p_vout ); vlc_object_release( (vlc_object_t *)p_vout );
} }
[o_playlist updateRowSelection]; [o_playlist updateRowSelection];
[o_info updateInfo]; // [o_info updateInfo];
p_intf->p_sys->b_current_title_update = FALSE; p_intf->p_sys->b_current_title_update = FALSE;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* playlistinfo.h: MacOS X interface module * playlistinfo.h: MacOS X interface module
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2004 VideoLAN * Copyright (C) 2002-2004 VideoLAN
* $Id: playlist.h 7015 2004-03-08 15:22:58Z bigben $ * $Id$
* *
* Authors: Benjamin Pracht <bigben at videolan dot org> * Authors: Benjamin Pracht <bigben at videolan dot org>
* *
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
*****************************************************************************/ *****************************************************************************/
@interface VLCPlaylistInfo : NSObject @interface VLCInfo : NSObject
{ {
IBOutlet id o_info_window; IBOutlet id o_info_window;
IBOutlet id o_uri_lbl; IBOutlet id o_uri_lbl;
...@@ -40,19 +40,24 @@ ...@@ -40,19 +40,24 @@
IBOutlet id o_btn_delete_group; IBOutlet id o_btn_delete_group;
IBOutlet id o_btn_add_group; IBOutlet id o_btn_add_group;
IBOutlet id o_outline_view; IBOutlet id o_outline_view;
IBOutlet id o_vlc_playlist;
IBOutlet id o_group_lbl; IBOutlet id o_group_lbl;
IBOutlet id o_group_cbx; IBOutlet id o_group_cbx;
IBOutlet id o_group_color; IBOutlet id o_group_color;
int i_item;
NSMutableArray * o_selected;
} }
- (IBAction)togglePlaylistInfoPanel:(id)sender; - (IBAction)togglePlaylistInfoPanel:(id)sender;
- (IBAction)toggleInfoPanel:(id)sender;
- (void)initPanel:(id)sender;
- (IBAction)infoCancel:(id)sender; - (IBAction)infoCancel:(id)sender;
- (IBAction)infoOk:(id)sender; - (IBAction)infoOk:(id)sender;
- (IBAction)handleGroup:(id)sender; - (IBAction)handleGroup:(id)sender;
- (IBAction)deleteOutlineGroup:(id)sender; - (IBAction)deleteOutlineGroup:(id)sender;
- (IBAction)createOutlineGroup:(id)sender; - (IBAction)createOutlineGroup:(id)sender;
- (void)createComboBox; - (void)createComboBox;
- (int)getItem;
@end @end
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
r playlistinfo.m: MacOS X interface module r playlistinfo.m: MacOS X interface module
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2004 VideoLAN * Copyright (C) 2002-2004 VideoLAN
* $Id: playlistinfo.m 7015 2004-03-08 15:22:58Z bigben $ * $Id$
* *
* Authors: Benjmaib Pracht <bigben at videolan dot org> * Authors: Benjamin Pracht <bigben at videolan dot org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
...@@ -33,7 +33,25 @@ ...@@ -33,7 +33,25 @@
* VLCPlaylistInfo Implementation * VLCPlaylistInfo Implementation
*****************************************************************************/ *****************************************************************************/
@implementation VLCPlaylistInfo @implementation VLCInfo
- (id)init
{
self = [super init];
if( self != nil )
{
i_item = -1;
o_selected = NULL;
}
return( self );
}
- (void)dealloc
{
[o_selected release];
[super dealloc];
}
- (void)awakeFromNib - (void)awakeFromNib
{ {
...@@ -52,22 +70,55 @@ ...@@ -52,22 +70,55 @@
- (IBAction)togglePlaylistInfoPanel:(id)sender - (IBAction)togglePlaylistInfoPanel:(id)sender
{ {
intf_thread_t * p_intf = [NSApp getIntf]; if( [o_info_window isVisible] )
playlist_t * p_playlist; {
[o_info_window orderOut: sender];
}
else
{
i_item = [[[NSApp delegate] getPlaylist] selectedPlaylistItem];
o_selected = [[[NSApp delegate] getPlaylist] selectedPlaylistItemsList];
[o_selected retain];
[self initPanel:sender];
}
}
- (IBAction)toggleInfoPanel:(id)sender
{
if( [o_info_window isVisible] ) if( [o_info_window isVisible] )
{ {
[o_info_window orderOut: sender]; [o_info_window orderOut: sender];
} }
else else
{ {
intf_thread_t * p_intf = [NSApp getIntf];
playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
if (p_playlist)
{
i_item = p_playlist->i_index;
o_selected = [NSMutableArray arrayWithObject:
[NSNumber numberWithInt:i_item]];
[o_selected retain];
vlc_object_release(p_playlist);
}
[self initPanel:sender];
}
}
- (void)initPanel:(id)sender
{
intf_thread_t * p_intf = [NSApp getIntf];
playlist_t * p_playlist;
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE ); FIND_ANYWHERE );
if (p_playlist) if (p_playlist)
{ {
/*fill uri / title / author info */ /*fill uri / title / author info */
int i_item = [o_vlc_playlist selectedPlaylistItem];
[o_uri_txt setStringValue: [o_uri_txt setStringValue:
([NSString stringWithUTF8String:p_playlist-> ([NSString stringWithUTF8String:p_playlist->
pp_items[i_item]->input.psz_uri] == nil ) ? pp_items[i_item]->input.psz_uri] == nil ) ?
...@@ -97,24 +148,21 @@ ...@@ -97,24 +148,21 @@
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
[o_info_window makeKeyAndOrderFront: sender]; [o_info_window makeKeyAndOrderFront: sender];
}
} }
- (IBAction)infoCancel:(id)sender - (IBAction)infoCancel:(id)sender
{ {
[self togglePlaylistInfoPanel:self]; [o_info_window orderOut: self];
} }
- (IBAction)infoOk:(id)sender - (IBAction)infoOk:(id)sender
{ {
int i,i_row,c; int i,i_row,c;
int i_item = [o_vlc_playlist selectedPlaylistItem];
intf_thread_t * p_intf = [NSApp getIntf]; intf_thread_t * p_intf = [NSApp getIntf];
playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE ); FIND_ANYWHERE );
vlc_value_t val; vlc_value_t val;
NSMutableArray * o_selected = [o_vlc_playlist selectedPlaylistItemsList];
NSNumber * o_number; NSNumber * o_number;
...@@ -164,7 +212,7 @@ ...@@ -164,7 +212,7 @@
var_Set( p_playlist,"intf-change",val ); var_Set( p_playlist,"intf-change",val );
vlc_object_release ( p_playlist ); vlc_object_release ( p_playlist );
} }
[self togglePlaylistInfoPanel:self]; [o_info_window orderOut: self];
} }
- (IBAction)handleGroup:(id)sender - (IBAction)handleGroup:(id)sender
...@@ -178,13 +226,13 @@ ...@@ -178,13 +226,13 @@
if ([[o_group_cbx stringValue] isEqual: if ([[o_group_cbx stringValue] isEqual:
[o_group_cbx objectValueOfSelectedItem]]) [o_group_cbx objectValueOfSelectedItem]])
{ {
[o_group_color setBackgroundColor:[o_vlc_playlist [o_group_color setBackgroundColor:[[[NSApp delegate] getPlaylist]
getColor: p_playlist->pp_groups[ getColor: p_playlist->pp_groups[
[o_group_cbx indexOfSelectedItem]]->i_id]]; [o_group_cbx indexOfSelectedItem]]->i_id]];
} }
else else
{ {
[o_group_color setBackgroundColor:[o_vlc_playlist [o_group_color setBackgroundColor:[[[NSApp delegate] getPlaylist]
getColor:p_playlist->pp_groups[ getColor:p_playlist->pp_groups[
[o_group_cbx numberOfItems] - 1]->i_id + 1]]; [o_group_cbx numberOfItems] - 1]->i_id + 1]];
} }
...@@ -203,7 +251,7 @@ ...@@ -203,7 +251,7 @@
if ([[o_group_cbx stringValue] isEqual: if ([[o_group_cbx stringValue] isEqual:
[o_group_cbx objectValueOfSelectedItem]]) [o_group_cbx objectValueOfSelectedItem]])
{ {
[o_vlc_playlist deleteGroup:p_playlist->pp_groups[ [[[NSApp delegate] getPlaylist] deleteGroup:p_playlist->pp_groups[
[o_group_cbx indexOfSelectedItem]]->i_id]; [o_group_cbx indexOfSelectedItem]]->i_id];
[self createComboBox]; [self createComboBox];
[self handleGroup:self]; [self handleGroup:self];
...@@ -228,7 +276,7 @@ ...@@ -228,7 +276,7 @@
strdup([[o_group_cbx stringValue] cString])); strdup([[o_group_cbx stringValue] cString]));
[self createComboBox]; [self createComboBox];
[o_group_cbx reloadData]; [o_group_cbx reloadData];
[o_vlc_playlist playlistUpdated]; [[[NSApp delegate] getPlaylist] playlistUpdated];
vlc_object_release(p_playlist); vlc_object_release(p_playlist);
} }
} }
...@@ -239,7 +287,6 @@ ...@@ -239,7 +287,6 @@
playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE ); FIND_ANYWHERE );
int i; int i;
int i_item = [o_vlc_playlist selectedPlaylistItem];
[o_group_cbx removeAllItems]; [o_group_cbx removeAllItems];
...@@ -260,10 +307,38 @@ ...@@ -260,10 +307,38 @@
} }
} }
- (int)getItem
{
return i_item;
}
@end @end
@implementation VLCInfo (NSMenuValidation)
@implementation VLCPlaylistInfo (NSTableDataSource) - (BOOL)validateMenuItem:(NSMenuItem *)o_mi
{
BOOL bEnabled = TRUE;
intf_thread_t * p_intf = [NSApp getIntf];
input_thread_t * p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( [[o_mi title] isEqualToString: _NS("Info")] )
{
if( p_input == NULL )
{
bEnabled = FALSE;
}
}
if( p_input ) vlc_object_release( p_input );
return( bEnabled );
}
@end
@implementation VLCInfo (NSTableDataSource)
- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item - (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
{ {
...@@ -291,6 +366,7 @@ ...@@ -291,6 +366,7 @@
} }
} }
@end @end
@implementation VLCInfoTreeItem @implementation VLCInfoTreeItem
...@@ -305,12 +381,11 @@ static VLCInfoTreeItem *o_root_item = nil; ...@@ -305,12 +381,11 @@ static VLCInfoTreeItem *o_root_item = nil;
if( self != nil ) if( self != nil )
{ {
i_item = [[[NSApp delegate] getPlaylist] selectedPlaylistItem];
o_name = [o_item_name copy]; o_name = [o_item_name copy];
o_value = [o_item_value copy]; o_value = [o_item_value copy];
i_object_id = i_id; i_object_id = i_id;
o_parent = o_parent_item; o_parent = o_parent_item;
i_item = [[[NSApp delegate] getInfo] getItem];
} }
return( self ); return( self );
} }
...@@ -407,19 +482,19 @@ static VLCInfoTreeItem *o_root_item = nil; ...@@ -407,19 +482,19 @@ static VLCInfoTreeItem *o_root_item = nil;
return (i_tmp == IsALeafNode) ? (-1) : (int)[i_tmp count]; return (i_tmp == IsALeafNode) ? (-1) : (int)[i_tmp count];
} }
- (int)selectedPlaylistItem /*- (int)selectedPlaylistItem
{ {
return i_item; return i_item;
} }
*/
- (void)refresh - (void)refresh
{ {
i_item = [[[NSApp delegate] getInfo] getItem];
if (o_children != NULL) if (o_children != NULL)
{ {
[o_children release]; [o_children release];
o_children = NULL; o_children = NULL;
} }
i_item = [[[NSApp delegate] getPlaylist] selectedPlaylistItem];
} }
@end @end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment