Add performCloseAllTabs: action method

Closes #808.
This commit is contained in:
Allan Odgaard
2013-02-21 21:52:12 +01:00
parent 2190b14ee2
commit 1f0a558adc
2 changed files with 12 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ PUBLIC @interface DocumentController : NSObject
- (IBAction)performCloseTab:(id)sender;
- (IBAction)performCloseSplit:(id)sender;
- (IBAction)performCloseWindow:(id)sender;
- (IBAction)performCloseAllTabs:(id)sender;
- (IBAction)performCloseOtherTabs:(id)sender;
- (IBAction)saveDocument:(id)sender;

View File

@@ -544,6 +544,17 @@ namespace
[self.window performClose:self];
}
- (IBAction)performCloseAllTabs:(id)sender
{
NSMutableIndexSet* allTabs = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(0, _documents.size())];
for(size_t i = 0; i < _documents.size(); ++i)
{
if(_documents[i]->is_modified() && _documents[i]->path() == NULL_STR)
[allTabs removeIndex:i];
}
[self closeTabsAtIndexes:allTabs askToSaveChanges:YES createDocumentIfEmpty:YES];
}
- (IBAction)performCloseOtherTabs:(id)sender
{
NSUInteger tabIndex = [sender isKindOfClass:[OakTabBarView class]] ? [sender tag] : _selectedTabIndex;