Respect 'immediately switch to new tabs' setting
This commit is contained in:
parent
d763670ccd
commit
21efa0c6ed
|
@ -284,12 +284,15 @@ static id newTabTarget;
|
|||
[urlBar setStringValue: urlString];
|
||||
}
|
||||
-(void)setTitle: (NSString*)title forTab: (id)tab {
|
||||
NSLog(@"Set title to %@", title);
|
||||
[[self window] setTitle: title];
|
||||
NSString *tabTitle = title;
|
||||
if ([tabTitle length] > TAB_TITLE_LEN) {
|
||||
tabTitle = [title substringToIndex: TAB_TITLE_LEN];
|
||||
}
|
||||
[[tab tabItem] setLabel: tabTitle];
|
||||
// Label doesn't get updated automatically.
|
||||
[tabView setNeedsDisplayInRect: [tabView bounds]];
|
||||
}
|
||||
|
||||
-(void)findNext: (NSString*)needle matchCase: (BOOL)matchCase sender: (id)sender {
|
||||
|
@ -378,24 +381,23 @@ static id newTabTarget;
|
|||
[newPlotView setBrowser: aBrowser];
|
||||
[newScrollView setLineScroll: 25];
|
||||
NSInteger num = [tabView numberOfTabViewItems];
|
||||
NSTabViewItem *previouslySelected = [tabView selectedTabViewItem];
|
||||
[tabView insertTabViewItem: tabItem atIndex: num];
|
||||
|
||||
TabContents *tc = [[TabContents alloc] initWithScroll: newScrollView plot:
|
||||
newPlotView browser: aBrowser tabItem: tabItem];
|
||||
[self setActive: tc];
|
||||
[tabs addObject: tc];
|
||||
[tabView selectTabViewItem: tabItem];
|
||||
if (![[Preferences defaultPreferences] switchTabImmediately]) {
|
||||
[tabView selectTabViewItem: previouslySelected];
|
||||
}
|
||||
|
||||
|
||||
[tabItem release];
|
||||
[tc release];
|
||||
[newPlotView release];
|
||||
[newScrollView release];
|
||||
@try {
|
||||
[self updateTabsVisibility];
|
||||
}
|
||||
@catch (NSException *e) {
|
||||
NSLog(@"%@", e);
|
||||
}
|
||||
return tc;
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,8 @@ typedef NS_ENUM(NSInteger, PreferenceType) {
|
|||
-(BOOL)alwaysShowTabs;
|
||||
-(void)setAlwaysShowTabs: (BOOL)value;
|
||||
|
||||
-(BOOL)switchTabImmediately;
|
||||
-(void)setSwitchTabImmediaty: (BOOL)value;
|
||||
|
||||
+(Preferences*)defaultPreferences;
|
||||
@end
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#define KEY_REMOVE_DOWNLOADS_COMPLETE @"remove_downloads_complete"
|
||||
#define KEY_CONFIRM_OVERWRITE @"confirm_overwrite"
|
||||
#define KEY_DOWNLOAD_LOCATION @"download_location"
|
||||
#define KEY_SWITCH_TAB_IMMEDIATELY @"switch_tab_immediately"
|
||||
|
||||
#define KEY_ALWAYS_SHOW_TABS @"always_show_tabs"
|
||||
|
||||
|
@ -117,6 +118,18 @@
|
|||
[self notifyPreferenceUpdated: PreferenceTypeAlwaysShowTabs];
|
||||
}
|
||||
|
||||
-(BOOL)switchTabImmediately {
|
||||
if ([defaults objectForKey: KEY_SWITCH_TAB_IMMEDIATELY] != nil) {
|
||||
return [defaults boolForKey: KEY_SWITCH_TAB_IMMEDIATELY];
|
||||
} else {
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setSwitchTabImmediately: (BOOL)value {
|
||||
[defaults setBool: value forKey: KEY_SWITCH_TAB_IMMEDIATELY];
|
||||
}
|
||||
|
||||
|
||||
+(Preferences*)defaultPreferences {
|
||||
static Preferences *prefs;
|
||||
|
|
|
@ -201,6 +201,8 @@
|
|||
-(void)configureAppearanceTab {
|
||||
[alwaysShowTabBarButton setState: [[Preferences defaultPreferences] alwaysShowTabs] ?
|
||||
NSOnState : NSOffState];
|
||||
[switchToTabsButton setState: [[Preferences defaultPreferences] switchTabImmediately]
|
||||
? NSOnState : NSOffState];
|
||||
}
|
||||
|
||||
-(void)didPickDeveloperViews: (id)sender {
|
||||
|
@ -223,6 +225,8 @@
|
|||
|
||||
-(void)didPressSwitchToTabs: (id)sender {
|
||||
NSLog(@"didPressSwitchToTabs");
|
||||
BOOL checked = [sender state] == NSOnState;
|
||||
[[Preferences defaultPreferences] setSwitchTabImmediately: checked];
|
||||
}
|
||||
|
||||
-(void)didPressUrlSuggestions: (id)sender {
|
||||
|
|
Loading…
Reference in New Issue