Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble-iphoneos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Krautz <mikkel@krautz.dk>2012-01-31 03:28:59 +0400
committerMikkel Krautz <mikkel@krautz.dk>2012-01-31 03:28:59 +0400
commit3dcfb214441e2fa4a0b41cb56fcbea064cb62a35 (patch)
tree8f392295575d7b1d919bc220d9617dbf12338f6e
parent10e79091f0e96c46a0282b7166b252aefefc9a9d (diff)
Warn before deleting a server (when the action sheet is used for deletion).
-rw-r--r--Source/Classes/MUFavouriteServerListController.m50
1 files changed, 31 insertions, 19 deletions
diff --git a/Source/Classes/MUFavouriteServerListController.m b/Source/Classes/MUFavouriteServerListController.m
index 77866c6..a41eebf 100644
--- a/Source/Classes/MUFavouriteServerListController.m
+++ b/Source/Classes/MUFavouriteServerListController.m
@@ -37,12 +37,13 @@
#import "MUConnectionController.h"
#import "MUServerCell.h"
-@interface MUFavouriteServerListController () {
+@interface MUFavouriteServerListController () <UIAlertViewDelegate> {
NSMutableArray *_favouriteServers;
BOOL _editMode;
MUFavouriteServer *_editedServer;
}
- (void) reloadFavourites;
+- (void) deleteFavouriteAtIndexPath:(NSIndexPath *)indexPath;
@end
@implementation MUFavouriteServerListController
@@ -120,15 +121,7 @@
- (void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
- NSUInteger row = [indexPath row];
-
- // Drop it from the database
- MUFavouriteServer *favServ = [_favouriteServers objectAtIndex:row];
- [MUDatabase deleteFavourite:favServ];
-
- // And remove it from our locally sorted array
- [_favouriteServers removeObjectAtIndex:[indexPath row]];
- [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
+ [self deleteFavouriteAtIndexPath:indexPath];
}
}
@@ -155,6 +148,17 @@
[sheet release];
}
+- (void) deleteFavouriteAtIndexPath:(NSIndexPath *)indexPath {
+ // Drop it from the database
+ MUFavouriteServer *favServ = [_favouriteServers objectAtIndex:[indexPath row]];
+ [MUDatabase deleteFavourite:favServ];
+
+ // And remove it from our locally sorted array
+ [_favouriteServers removeObjectAtIndex:[indexPath row]];
+ [[self tableView] deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
+ [[self tableView] deselectRowAtIndexPath:indexPath animated:YES];
+}
+
- (void) actionSheet:(UIActionSheet *)sheet clickedButtonAtIndex:(NSInteger)index {
NSIndexPath *indexPath = [[self tableView] indexPathForSelectedRow];
@@ -162,15 +166,9 @@
// Delete
if (index == 0) {
- // Drop it from the database
- MUFavouriteServer *favServ = [_favouriteServers objectAtIndex:[indexPath row]];
- [MUDatabase deleteFavourite:favServ];
-
- // And remove it from our locally sorted array
- [_favouriteServers removeObjectAtIndex:[indexPath row]];
- [[self tableView] deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
- [[self tableView] deselectRowAtIndexPath:indexPath animated:YES];
-
+ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Delete Favourite" message:@"Are you sure you want to delete this favourite server?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
+ [alertView show];
+ [alertView release];
// Connect
} else if (index == 2) {
NSString *userName = [favServ userName];
@@ -195,6 +193,20 @@
}
#pragma mark -
+#pragma mark UIAlertViewDelegate
+
+- (void) alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
+ NSIndexPath *selectedRow = [[self tableView] indexPathForSelectedRow];
+ if (buttonIndex == 0) {
+ // ...
+ } else if (buttonIndex == 1) {
+ [self deleteFavouriteAtIndexPath:selectedRow];
+ }
+
+ [[self tableView] deselectRowAtIndexPath:selectedRow animated:YES];
+}
+
+#pragma mark -
#pragma Modal edit dialog
- (void) presentNewFavouriteDialog {