]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/bookmarks.m
* Only allow playlist files in open playlist (Refs:#940)
[vlc] / modules / gui / macosx / bookmarks.m
index 68b778f360f1fb12da6f4f2ec64acb7b20b8dd3f..43920dbfa2f1a89dfd10bb0bc645cdeee3bcda4d 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * bookmarks.m: MacOS X Bookmarks window
  *****************************************************************************
- * Copyright (C) 2005 the VideoLAN team
+ * Copyright (C) 2005, 2006 the VideoLAN team
  * $Id$
  *
  * Authors: Felix Kühne <fkuehne@users.sf.net>
@@ -37,7 +37,7 @@
 #import "bookmarks.h"
 #import "intf.h"
 #import "wizard.h"
-#import <vlc/intf.h>
+#import <vlc_interface.h>
 
 /*****************************************************************************
  * VLCExtended implementation
@@ -77,9 +77,9 @@ static VLCBookmarks *_o_sharedInstance = nil;
 
 - (void)dealloc
 {
-    if(p_old_input)
+    if( p_old_input )
     {
-        free(p_old_input);
+        vlc_object_release( p_old_input );
     }
     [super dealloc];
 }
@@ -95,11 +95,11 @@ static VLCBookmarks *_o_sharedInstance = nil;
     [o_btn_edit setTitle: _NS("Edit")];
     [o_btn_extract setTitle: _NS("Extract")];
     [o_btn_rm setTitle: _NS("Remove")];
-    [[[o_tbl_dataTable tableColumnWithIdentifier:@"description"] headerCell] \
+    [[[o_tbl_dataTable tableColumnWithIdentifier:@"description"] headerCell]
         setStringValue: _NS("Description")];
-    [[[o_tbl_dataTable tableColumnWithIdentifier:@"size_offset"] headerCell] \
+    [[[o_tbl_dataTable tableColumnWithIdentifier:@"size_offset"] headerCell]
         setStringValue: _NS("Position")];
-    [[[o_tbl_dataTable tableColumnWithIdentifier:@"time_offset"] headerCell] \
+    [[[o_tbl_dataTable tableColumnWithIdentifier:@"time_offset"] headerCell]
         setStringValue: _NS("Time")];
         
     /* edit window */
@@ -121,7 +121,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
 {
     /* add item to list */
     intf_thread_t * p_intf = VLCIntf;
-    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     if( !p_input )
         return;
@@ -148,7 +148,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
 {
     /* clear table */
     intf_thread_t * p_intf = VLCIntf;
-    input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     
     if( !p_input )
@@ -167,14 +167,10 @@ static VLCBookmarks *_o_sharedInstance = nil;
     /* we take the values from the core and not the table, because we cannot
      * really trust it */
     intf_thread_t * p_intf = VLCIntf;
-    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     seekpoint_t **pp_bookmarks;
     int i_bookmarks;
-    char * toBeReturned;
-    toBeReturned = "";
-    int i_toBeReturned;
-    i_toBeReturned = 0;
     int row;
     row = [o_tbl_dataTable selectedRow];
     
@@ -182,7 +178,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
     {
         return;
     } 
-    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \
+    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
         &i_bookmarks ) != VLC_SUCCESS )
     {
         vlc_object_release( p_input );
@@ -193,11 +189,11 @@ static VLCBookmarks *_o_sharedInstance = nil;
         vlc_object_release( p_input );
         return;
     } else {
-        [o_edit_fld_name setStringValue: [NSString stringWithUTF8String: \
+        [o_edit_fld_name setStringValue: [NSString stringWithUTF8String:
             pp_bookmarks[row]->psz_name]];
-        [o_edit_fld_time setStringValue: [[NSNumber numberWithInt: \
+        [o_edit_fld_time setStringValue: [[NSNumber numberWithInt:
             (pp_bookmarks[row]->i_time_offset / 1000000)] stringValue]];
-        [o_edit_fld_bytes setStringValue: [[NSNumber numberWithInt: \
+        [o_edit_fld_bytes setStringValue: [[NSNumber numberWithInt:
             pp_bookmarks[row]->i_byte_offset] stringValue]];
     }
     
@@ -225,29 +221,29 @@ static VLCBookmarks *_o_sharedInstance = nil;
     intf_thread_t * p_intf = VLCIntf;
     seekpoint_t **pp_bookmarks;
     int i_bookmarks, i;
-    input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     
     if( !p_input )
     {
-        NSBeginCriticalAlertSheet(_NS("No input"), _NS("OK"), \
-                @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("No " \
-                "input found. A stream must be playing or paused for " \
+        NSBeginCriticalAlertSheet(_NS("No input"), _NS("OK"),
+                @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("No "
+                "input found. A stream must be playing or paused for "
                 "bookmarks to work."));
         return;
     }
     if( p_old_input != p_input )
     {
-        NSBeginCriticalAlertSheet(_NS("Input has changed"), _NS("OK"), \
-            @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("Input " \
-            "has changed, unable to save bookmark. Suspending playback with " \
-            "\"Pause\" while editing bookmarks to ensure to keep the same " \
+        NSBeginCriticalAlertSheet(_NS("Input has changed"), _NS("OK"),
+            @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("Input "
+            "has changed, unable to save bookmark. Suspending playback with "
+            "\"Pause\" while editing bookmarks to ensure to keep the same "
             "input."));
         vlc_object_release( p_input );
         return;
     }
     
-    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \
+    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
         &i_bookmarks ) != VLC_SUCCESS )
     {
         vlc_object_release( p_input );
@@ -265,7 +261,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
     pp_bookmarks[i]->i_byte_offset = [[o_edit_fld_bytes stringValue] intValue];
     pp_bookmarks[i]->i_time_offset = ([[o_edit_fld_time stringValue] intValue]  * 1000000);
     
-    if( input_Control( p_input, INPUT_CHANGE_BOOKMARK, pp_bookmarks[i], i ) \
+    if( input_Control( p_input, INPUT_CHANGE_BOOKMARK, pp_bookmarks[i], i )
         != VLC_SUCCESS )
     {
         msg_Warn( p_intf, "Unable to change the bookmark");
@@ -289,9 +285,9 @@ static VLCBookmarks *_o_sharedInstance = nil;
     
     if( [o_tbl_dataTable numberOfSelectedRows] < 2 )
     {
-        NSBeginAlertSheet(_NS("Invalid selection"), _NS("OK"), \
-            @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("" \
-            "Two bookmarks have to be selected."));
+        NSBeginAlertSheet(_NS("Invalid selection"), _NS("OK"),
+            @"", @"", o_bookmarks_window, nil, nil, nil, nil, 
+            _NS("Two bookmarks have to be selected."));
         return;
     }
     input_thread_t *p_input =
@@ -299,9 +295,9 @@ static VLCBookmarks *_o_sharedInstance = nil;
                                            FIND_ANYWHERE );
     if( !p_input )
     {
-        NSBeginCriticalAlertSheet(_NS("No input found"), _NS("OK"), \
-            @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("" \
-            "The stream must be playing or paused for bookmarks to work."));
+        NSBeginCriticalAlertSheet(_NS("No input found"), _NS("OK"),
+            @"", @"", o_bookmarks_window, nil, nil, nil, nil, 
+            _NS("The stream must be playing or paused for bookmarks to work."));
         return;
     }
     
@@ -331,7 +327,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
     
     msg_Dbg(p_intf, "got the bookmark-indexes");
     
-    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \
+    if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
         &i_bookmarks ) != VLC_SUCCESS )
     {
         vlc_object_release( p_input );
@@ -340,13 +336,13 @@ static VLCBookmarks *_o_sharedInstance = nil;
     }
     msg_Dbg(p_intf, "calling wizard");
 
-    [[[VLCMain sharedInstance] getWizard] initWithExtractValuesFrom: \
-            [[NSNumber numberWithInt: \
-            (pp_bookmarks[i_first]->i_time_offset/1000000)] stringValue] \
-            to: [[NSNumber numberWithInt: \
-            (pp_bookmarks[i_second]->i_time_offset/1000000)] stringValue] \
-            ofItem: [NSString stringWithUTF8String: \
-            p_input->input.p_item->psz_uri]];
+    [[[VLCMain sharedInstance] getWizard] initWithExtractValuesFrom:
+            [[NSNumber numberWithInt:
+            (pp_bookmarks[i_first]->i_time_offset/1000000)] stringValue]
+            to: [[NSNumber numberWithInt:
+            (pp_bookmarks[i_second]->i_time_offset/1000000)] stringValue]
+            ofItem: [NSString stringWithUTF8String:
+            input_GetItem(p_input)->psz_uri]];
     vlc_object_release( p_input );
     msg_Dbg(p_intf, "released input");
 }
@@ -355,7 +351,8 @@ static VLCBookmarks *_o_sharedInstance = nil;
 {
     intf_thread_t * p_intf = VLCIntf;
     input_thread_t *p_input =
-    (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
+    (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, 
+        FIND_ANYWHERE );
     
     if( !p_input ) 
     {
@@ -372,7 +369,8 @@ static VLCBookmarks *_o_sharedInstance = nil;
     /* remove selected item */
     intf_thread_t * p_intf = VLCIntf;
     input_thread_t *p_input =
-    (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
+    (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, 
+        FIND_ANYWHERE );
     
     if( !p_input ) return;
 
@@ -404,7 +402,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
 {
     /* return the number of bookmarks */
     intf_thread_t * p_intf = VLCIntf;
-    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     seekpoint_t **pp_bookmarks;
     int i_bookmarks;
@@ -413,7 +411,7 @@ static VLCBookmarks *_o_sharedInstance = nil;
     {
         return 0;
     }
-    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \
+    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
                        &i_bookmarks ) != VLC_SUCCESS )
     {
         vlc_object_release( p_input );
@@ -425,25 +423,23 @@ static VLCBookmarks *_o_sharedInstance = nil;
     }
 }
 
-- (id)tableView:(NSTableView *)theDataTable objectValueForTableColumn: \
+- (id)tableView:(NSTableView *)theDataTable objectValueForTableColumn:
     (NSTableColumn *)theTableColumn row: (int)row
 {
     /* return the corresponding data as NSString */
     intf_thread_t * p_intf = VLCIntf;
-    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \
+    input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf,
         VLC_OBJECT_INPUT, FIND_ANYWHERE );
     seekpoint_t **pp_bookmarks;
     int i_bookmarks;
-    char * toBeReturned;
-    toBeReturned = "";
-    int i_toBeReturned;
-    i_toBeReturned = 0;
+    char *toBeReturned;
+    int i_toBeReturned = 0;
     
     if( !p_input )
     {
         return @"";
     } 
-    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \
+    else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks,
                        &i_bookmarks ) != VLC_SUCCESS )
     {
         vlc_object_release( p_input );
@@ -467,15 +463,15 @@ static VLCBookmarks *_o_sharedInstance = nil;
         {
             i_toBeReturned = pp_bookmarks[row]->i_time_offset;
             vlc_object_release( p_input );
-            return [[NSNumber numberWithInt: (i_toBeReturned / 1000000)] \
+            return [[NSNumber numberWithInt: (i_toBeReturned / 1000000)]
                 stringValue];
         }
         else
         {
             /* may not happen, but just in case */
             vlc_object_release( p_input );
-            msg_Err(p_intf, "unknown table column identifier (%s) while" \
-                "updating the bookmark table", [[theTableColumn identifier] \
+            msg_Err(p_intf, "unknown table column identifier (%s) while "
+                "updating the bookmark table", [[theTableColumn identifier]
 
                 UTF8String] );
             return @"unknown identifier";