Privacy options saving

This commit is contained in:
anthony 2022-03-04 09:44:49 +00:00
parent 98083dbc2a
commit b97d9b699b
4 changed files with 113 additions and 0 deletions

View File

@ -114,5 +114,26 @@ typedef NS_ENUM(NSInteger, PreferenceType) {
-(NSUInteger)fontSize;
-(void)setFontSize: (NSUInteger)value;
-(BOOL)enableReferralSubmission;
-(void)setEnableReferralSubmission: (BOOL)value;
-(BOOL)sendDoNotTrackRequest;
-(void)setSendDoNotTrackRequest: (BOOL)value;
-(BOOL)showHistoryTooltip;
-(void)setShowHistoryTooltip: (BOOL)value;
-(NSUInteger)browsingHistoryDays;
-(void)setBrowsingHistoryDays: (NSUInteger)value;
-(NSUInteger)diskCacheSize;
-(void)setDiskCacheSize: (NSUInteger)value;
-(NSUInteger)memCacheSize;
-(void)setMemCacheSize: (NSUInteger)value;
-(NSUInteger)cacheExpiryDays;
-(void)setCacheExpiryDays: (NSUInteger)value;
+(Preferences*)defaultPreferences;
@end

View File

@ -17,6 +17,8 @@
#define KEY_DEVELOPER_VIEW_LOCATION @"developer_view_location"
#define KEY_SHOW_URL_SUGGESTIONS @"show_url_suggestions"
#define KEY_URL_BAR_BUTTON_TYPE @"url_bar_button_type"
#define KEY_SHOW_HISTORY_TOOLTIP @"show_history_tooltip"
#define KEY_BROWSING_HISTORY_DAYS @"browsing_history_days"
@interface Preferences (Private)
@ -313,6 +315,67 @@
[self saveNetsurfPrefsFile];
}
-(BOOL)enableReferralSubmission {
return (BOOL)nsoption_bool(send_referer);
}
-(void)setEnableReferralSubmission: (BOOL)value {
nsoption_set_bool(send_referer, (bool)value);
[self saveNetsurfPrefsFile];
}
-(BOOL)sendDoNotTrackRequest {
return (BOOL)nsoption_bool(do_not_track);
}
-(void)setSendDoNotTrackRequest: (BOOL)value {
nsoption_set_bool(do_not_track, (bool)value);
[self saveNetsurfPrefsFile];
}
-(BOOL)showHistoryTooltip {
if ([defaults objectForKey: KEY_SHOW_HISTORY_TOOLTIP] != nil) {
return [defaults boolForKey: KEY_SHOW_HISTORY_TOOLTIP];
} else {
return NO;
}
}
-(void)setShowHistoryTooltip: (BOOL)value {
[defaults setBool: value forKey: KEY_SHOW_HISTORY_TOOLTIP];
}
-(NSUInteger)browsingHistoryDays {
return [defaults integerForKey: KEY_BROWSING_HISTORY_DAYS];
}
-(void)setBrowsingHistoryDays: (NSUInteger)value {
[defaults setInteger: value forKey: KEY_BROWSING_HISTORY_DAYS];
}
-(NSUInteger)diskCacheSize {
NSUInteger bytes = (NSUInteger)nsoption_int(disc_cache_size);
return bytes / 0x100000;
}
-(void)setDiskCacheSize: (NSUInteger)value {
nsoption_set_int(disc_cache_size, (int)(value * 0x100000));
[self saveNetsurfPrefsFile];
}
-(NSUInteger)memCacheSize {
NSUInteger bytes = (NSUInteger)nsoption_int(memory_cache_size);
return bytes / 0x100000;
}
-(void)setMemCacheSize: (NSUInteger)value {
nsoption_set_int(memory_cache_size, (int)(value * 0x100000));
[self saveNetsurfPrefsFile];
}
-(NSUInteger)cacheExpiryDays {
return (NSUInteger)nsoption_int(disc_cache_age);
}
-(void)setCacheExpiryDays: (NSUInteger)value {
nsoption_set_int(disc_cache_age, (int)value);
[self saveNetsurfPrefsFile];
}
+(Preferences*)defaultPreferences {
static Preferences *prefs;
if (prefs == nil) {

View File

@ -362,34 +362,63 @@
// MARK: - PRIVACY TAB
-(void)configurePrivacyTab {
NSLog(@"Configure content tab");
[doNotTrackButton setState: [[Preferences defaultPreferences]
sendDoNotTrackRequest] ? NSOnState : NSOffState];
[referralSubmissionButton setState: [[Preferences defaultPreferences]
enableReferralSubmission] ? NSOnState : NSOffState];
[localHistoryUrlTooltipButton setState: [[Preferences defaultPreferences]
showHistoryTooltip] ? NSOnState : NSOffState];
[rememberHistoryField setStringValue: [NSString stringWithFormat: @"%u",
[[Preferences defaultPreferences] browsingHistoryDays]]];
[memCacheSizeField setStringValue: [NSString stringWithFormat: @"%u",
[[Preferences defaultPreferences] memCacheSize]]];
[diskCacheSizeField setStringValue: [NSString stringWithFormat: @"%u",
[[Preferences defaultPreferences] diskCacheSize]]];
[expireCacheField setStringValue: [NSString stringWithFormat: @"%u",
[[Preferences defaultPreferences] cacheExpiryDays]]];
}
-(void)didPressReferralSubmission: (id)sender {
NSLog(@"didPressReferralSubmission", sender);
[[Preferences defaultPreferences] setEnableReferralSubmission: [sender state]
== NSOnState ? YES : NO];
}
-(void)didPressDoNotTrack: (id)sender {
NSLog(@"didPressDoNotTrack", sender);
[[Preferences defaultPreferences] setSendDoNotTrackRequest: [sender state]
== NSOnState ? YES : NO];
}
-(void)didPressLocalHistoryTooltip: (id)sender {
NSLog(@"didPressLocalHistoryTooltip", sender);
[[Preferences defaultPreferences] setShowHistoryTooltip: [sender state]
== NSOnState ? YES : NO];
}
-(void)didChangeBrowsingHistory: (id)sender {
NSLog(@"didChangeBrowsingHistory", sender);
[[Preferences defaultPreferences] setBrowsingHistoryDays:
(NSUInteger)[[sender stringValue] integerValue]];
}
-(void)didChangeMemCacheSize: (id)sender {
NSLog(@"didChangeMemCacheSize", sender);
[[Preferences defaultPreferences] setMemCacheSize:
(NSUInteger)[[sender stringValue] integerValue]];
}
-(void)didChangeDiskCacheSize: (id)sender {
NSLog(@"didChangeDiskCacheSize", sender);
[[Preferences defaultPreferences] setDiskCacheSize:
(NSUInteger)[[sender stringValue] integerValue]];
}
-(void)didChangeExpireCache: (id)sender {
NSLog(@"didChangeExpireCache", sender);
[[Preferences defaultPreferences] setCacheExpiryDays:
(NSUInteger)[[sender stringValue] integerValue]];
}
@end