~ubuntuone-client-engineering/ubuntuone-ios-client/trunk

« back to all changes in this revision

Viewing changes to musicstreaming/view_controllers/PlaylistEditViewController.m

Merged wire-up-playlist-controls

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
#import "PlaylistEditViewController.h"
21
 
#import "PlaylistListViewController.h"
 
21
#import "SubsonicTableViewController.h"
22
22
#import "Playlist.h"
23
23
#import "Song.h"
24
24
#import "DataCache.h"
26
26
#import "NSMutableSet+Extras.h"
27
27
 
28
28
@implementation PlaylistEditViewController
29
 
@synthesize playlist, playlistListViewController;
 
29
@synthesize playlist, originatorViewController;
30
30
 
31
 
+ (UINavigationController *)navigableViewControllerWithPlaylist:(Playlist *)playlist originator:(PlaylistListViewController *)originator
 
31
+ (UINavigationController *)navigableViewControllerWithPlaylist:(Playlist *)playlist originator:(SubsonicTableViewController *)originator
32
32
{
33
33
    PlaylistEditViewController *playlistEditViewController = [[[PlaylistEditViewController alloc] initWithPlaylist:playlist] autorelease];
34
 
    playlistEditViewController.playlistListViewController = originator;
 
34
    playlistEditViewController.originatorViewController = originator;
35
35
    UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:playlistEditViewController] autorelease];
36
36
    return nav;
37
37
}
44
44
        self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Save", @"") style:UIBarButtonItemStylePlain target:self action:@selector(save:)] autorelease];
45
45
 
46
46
                self.playlist = aPlaylist;
47
 
        self.playlistListViewController = nil;
 
47
        self.originatorViewController = nil;
48
48
        self.navigationItem.prompt = NSLocalizedString(@"Add songs to playlist", @"");
49
 
        
50
49
    }
51
50
    return self;
52
51
}
67
66
        }
68
67
        else
69
68
        {
70
 
                NSURL *url = [[Subsonic sharedSubsonic] getBaseUrl:@"getAllSongs.view"];
 
69
                NSURL *url = [[Subsonic sharedSubsonic] getBaseUrl:@"getSongs.view"];
71
70
                NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
72
71
                
73
72
                SongListParser *parser = [[SongListParser alloc] init];
124
123
                s = [self.searchResults objectAtIndex:indexPath.row];
125
124
                cell.textLabel.text = s.title;
126
125
        cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ - %@", s.album, s.artist];
127
 
                cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
 
126
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
128
127
        }
129
128
        else
130
129
        {
131
 
                cell.accessoryType = UITableViewCellAccessoryNone;
132
 
 
133
130
        if (indexed)
134
131
        {
135
132
            NSString *index = [self.indexes objectAtIndex:indexPath.section];
141
138
        }
142
139
                cell.textLabel.text = s.title;
143
140
        cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ - %@", s.album, s.artist];
 
141
                cell.accessoryType = UITableViewCellAccessoryNone;
144
142
        }
 
143
 
 
144
    if ([self.playlist.contents containsObject:s.songId])
 
145
    {
 
146
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
 
147
    }
145
148
        
146
149
        return cell;
147
150
}
167
170
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
168
171
 
169
172
    if (cell.accessoryType == UITableViewCellAccessoryNone) {
170
 
        [self.playlist.contents addObject:selection];
 
173
        [self.playlist.contents addObject:selection.songId];
171
174
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
172
175
 
173
176
    } else {
174
 
        [self.playlist.contents removeObject:selection];
 
177
        [self.playlist.contents removeObject:selection.songId];
175
178
        cell.accessoryType = UITableViewCellAccessoryNone;
176
179
    }
177
180
 
198
201
        [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"playlistId", self.playlist.playlistId, nil]];
199
202
    }
200
203
    [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"name", self.playlist.name, nil]];
201
 
    for (Song *song in self.playlist.contents)
 
204
    for (NSString *songId in self.playlist.contents)
202
205
    {
203
 
        [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"songId", song.songId, nil]];
 
206
        [extraParameters addKeyValueObjectFromArray:[NSArray arrayWithObjects:@"songId", songId, nil]];
204
207
    }
205
208
        NSURL *url = [[Subsonic sharedSubsonic] getBaseUrl:@"createPlaylist.view" parameters:extraParameters];
206
209
    NSURLRequest *request = [[[NSURLRequest alloc] initWithURL:url] autorelease];
210
213
 
211
214
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
212
215
{
213
 
    [self.playlistListViewController performSelector:@selector(reload:) withObject:nil afterDelay:0.5];
 
216
    [self.originatorViewController performSelector:@selector(reload:) withObject:nil afterDelay:0.5];
214
217
    [self cancel:nil];
215
218
}
216
219
@end
 
 
b'\\ No newline at end of file'