/* }}} */
/* Sections Controller {{{ */
-@interface SectionsController : CYViewController <
+@interface CYSectionsController : CYViewController <
UITableViewDataSource,
UITableViewDelegate
> {
@end
-@implementation SectionsController
+@implementation CYSectionsController
- (void) dealloc {
[list_ setDataSource:nil];
[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;
[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 {
unsigned locked_;
unsigned activity_;
- SectionsController *sections_;
+ CYSectionsController *sections_;
ChangesController *changes_;
ManageController *manage_;
SearchController *search_;
return browser;
}
-- (SectionsController *) sectionsController {
+- (CYSectionsController *) sectionsController {
if (sections_ == nil)
- sections_ = [[SectionsController alloc] initWithDatabase:database_];
+ sections_ = [[CYSectionsController alloc] initWithDatabase:database_];
return sections_;
}