]> git.saurik.com Git - cydia.git/commitdiff
Fixed bug switching tabs while editing sections, SectionsController -> CYSectionsCont...
authorGrant Paul <chpwn@chpwn.com>
Sat, 4 Dec 2010 09:12:56 +0000 (01:12 -0800)
committerGrant Paul <chpwn@chpwn.com>
Sat, 4 Dec 2010 09:12:56 +0000 (01:12 -0800)
MobileCydia.mm

index 932b4714a00298a7624e6e3d89515f966489a228..5d3c6523b2ca6d30dd4f5530faa1e9322562e085 100644 (file)
@@ -7062,7 +7062,7 @@ freeing the view controllers on tab change */
 /* }}} */
 
 /* Sections Controller {{{ */
-@interface SectionsController : CYViewController <
+@interface CYSectionsController : CYViewController <
     UITableViewDataSource,
     UITableViewDelegate
 > {
@@ -7082,7 +7082,7 @@ freeing the view controllers on tab change */
 
 @end
 
-@implementation SectionsController
+@implementation CYSectionsController
 
 - (void) dealloc {
     [list_ setDataSource:nil];
@@ -7095,11 +7095,27 @@ freeing the view controllers on tab change */
     [super dealloc];
 }
 
+- (void) setEditing:(BOOL)editing {
+    if ((editing_ = editing))
+        [list_ reloadData];
+    else
+        [delegate_ updateData];
+
+    [[self navigationItem] setTitle:editing_ ? UCLocalize("SECTION_VISIBILITY") : UCLocalize("SECTIONS")];
+    [[[self navigationItem] rightBarButtonItem] setTitle:[sections_ count] == 0 ? nil : editing_ ? UCLocalize("DONE") : UCLocalize("EDIT")];
+    [[[self navigationItem] rightBarButtonItem] setStyle:editing_ ? UIBarButtonItemStyleDone : UIBarButtonItemStylePlain];
+}
+
 - (void) viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];
     [list_ deselectRowAtIndexPath:[list_ indexPathForSelectedRow] animated:animated];
 }
 
+- (void) viewWillDisappear:(BOOL)animated {
+    [super viewWillDisappear:animated];
+    [self setEditing:NO];
+}
+
 - (Section *) sectionAtIndexPath:(NSIndexPath *)indexPath {
     Section *section = (editing_ ? [sections_ objectAtIndex:[indexPath row]] : ([indexPath row] == 0 ? nil : [filtered_ objectAtIndex:([indexPath row] - 1)]));
     return section;
@@ -7248,15 +7264,8 @@ freeing the view controllers on tab change */
         [self editButtonClicked];
 }
 
-- (void) editButtonClicked {
-    if ((editing_ = !editing_))
-        [list_ reloadData];
-    else
-        [delegate_ updateData];
-
-    [[self navigationItem] setTitle:editing_ ? UCLocalize("SECTION_VISIBILITY") : UCLocalize("SECTIONS")];
-    [[[self navigationItem] rightBarButtonItem] setTitle:[sections_ count] == 0 ? nil : editing_ ? UCLocalize("DONE") : UCLocalize("EDIT")];
-    [[[self navigationItem] rightBarButtonItem] setStyle:editing_ ? UIBarButtonItemStyleDone : UIBarButtonItemStylePlain];
+- (void)editButtonClicked {
+    [self setEditing:!editing_];
 }
 
 - (UIView *) accessoryView {
@@ -8013,7 +8022,7 @@ typedef enum {
     unsigned locked_;
     unsigned activity_;
 
-    SectionsController *sections_;
+    CYSectionsController *sections_;
     ChangesController *changes_;
     ManageController *manage_;
     SearchController *search_;
@@ -8407,9 +8416,9 @@ static _finline void _setHomePage(Cydia *self) {
     return browser;
 }
 
-- (SectionsController *) sectionsController {
+- (CYSectionsController *) sectionsController {
     if (sections_ == nil)
-        sections_ = [[SectionsController alloc] initWithDatabase:database_];
+        sections_ = [[CYSectionsController alloc] initWithDatabase:database_];
     return sections_;
 }