Respect blank new tabs option

This commit is contained in:
anthony 2021-03-03 19:17:21 +00:00
parent 7bfa54dec0
commit 9036df44ae
4 changed files with 32 additions and 4 deletions

View File

@ -101,8 +101,10 @@ static id newTabTarget;
NSString *startupUrl;
if ([sender isKindOfClass: [NSString class]]) {
startupUrl = sender;
} else {
} else if (![[Preferences defaultPreferences] blankNewTabs]) {
startupUrl = [[Preferences defaultPreferences] startupUrl];
} else {
startupUrl = @"about:blank";
}
error = nsurl_create([startupUrl cString], &url);
@ -281,12 +283,19 @@ static id newTabTarget;
[refreshButton setTag: 0];
}
-(void)setNavigationUrl: (NSString*)urlString forTab: (id)tab {
[urlBar setStringValue: urlString];
if (tab == activeTab) {
[urlBar setStringValue: urlString];
}
}
-(void)setTitle: (NSString*)title forTab: (id)tab {
NSLog(@"Set title to %@", title);
[[self window] setTitle: title];
if (tab == activeTab) {
[[self window] setTitle: title];
}
NSString *tabTitle = title;
if ([tabTitle isEqual: @"about:blank"]) {
tabTitle = @"New tab";
}
if ([tabTitle length] > TAB_TITLE_LEN) {
tabTitle = [title substringToIndex: TAB_TITLE_LEN];
}

View File

@ -48,5 +48,8 @@ typedef NS_ENUM(NSInteger, PreferenceType) {
-(BOOL)switchTabImmediately;
-(void)setSwitchTabImmediaty: (BOOL)value;
-(BOOL)blankNewTabs;
-(void)setBlankNewTabs: (BOOL)value;
+(Preferences*)defaultPreferences;
@end

View File

@ -9,7 +9,7 @@
#define KEY_CONFIRM_OVERWRITE @"confirm_overwrite"
#define KEY_DOWNLOAD_LOCATION @"download_location"
#define KEY_SWITCH_TAB_IMMEDIATELY @"switch_tab_immediately"
#define KEY_BLANK_NEW_TABS @"blank_new_tabs"
#define KEY_ALWAYS_SHOW_TABS @"always_show_tabs"
@interface Preferences (Private)
@ -130,6 +130,18 @@
[defaults setBool: value forKey: KEY_SWITCH_TAB_IMMEDIATELY];
}
-(BOOL)blankNewTabs {
if ([defaults objectForKey: KEY_BLANK_NEW_TABS] != nil) {
return [defaults boolForKey: KEY_BLANK_NEW_TABS];
} else {
return NO;
}
}
-(void)setBlankNewTabs: (BOOL)value {
[defaults setBool: value forKey: KEY_BLANK_NEW_TABS];
}
+(Preferences*)defaultPreferences {
static Preferences *prefs;

View File

@ -203,6 +203,8 @@
NSOnState : NSOffState];
[switchToTabsButton setState: [[Preferences defaultPreferences] switchTabImmediately]
? NSOnState : NSOffState];
[bankNewTabsButton setState: [[Preferences defaultPreferences] blankNewTabs] ?
NSOnState : NSOffState];
}
-(void)didPickDeveloperViews: (id)sender {
@ -221,6 +223,8 @@
-(void)didPressBlankNewTabs: (id)sender {
NSLog(@"didPressBlankNewTabs");
BOOL checked = [sender state] == NSOnState;
[[Preferences defaultPreferences] setBlankNewTabs: checked];
}
-(void)didPressSwitchToTabs: (id)sender {