Skip to content

Commit

Permalink
主题保存
Browse files Browse the repository at this point in the history
  • Loading branch information
yuchenghai committed Jan 19, 2017
1 parent 8f3a864 commit 22cd1c2
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
8 changes: 5 additions & 3 deletions JNLunarCalendar/JNPopViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,11 @@ -(void)tableViewSelectionDidChange:(NSNotification *)notification {
[self reloadDateData];
} else if ([notification object] == self.themeTableView) {
[self.themeScrollView setHidden:YES];
[[JNThemeManager sharedManager] updateTheme:[[notification object] selectedRow]];
[self updateTheme];
[self.themeTableView deselectAll:nil];
if ([[notification object] selectedRow] >= 0) {
[[JNThemeManager sharedManager] updateTheme:[[notification object] selectedRow]];
[self updateTheme];
[self.themeTableView deselectAll:nil];
}
}
}

Expand Down
3 changes: 2 additions & 1 deletion JNLunarCalendar/JNThemeManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
#import <Cocoa/Cocoa.h>

typedef NS_ENUM(NSInteger, JNThemeType) {
JNThemeType_Normal,
JNThemeType_Normal = 0,
JNThemeType_Green,
JNThemeType_Gray,
JNThemeType_Nice,
};

@interface JNThemeManager : NSObject
Expand Down
23 changes: 16 additions & 7 deletions JNLunarCalendar/JNThemeManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

#define NSColorFromRGB(rgbValue) NSColorFromRGBA(rgbValue, 1.0)

#define UserSaveThemeIndexKey @"UserSaveThemeIndexKey"

@implementation JNThemeManager

+ (instancetype)sharedManager {
Expand All @@ -31,26 +33,33 @@ - (instancetype)init
{
self = [super init];
if (self) {
[self updateTheme:JNThemeType_Normal];
NSNumber *theme = [[NSUserDefaults standardUserDefaults] objectForKey:UserSaveThemeIndexKey];
[self updateTheme:[theme intValue]];
}
return self;
}

- (NSArray<NSColor*>*)getAllTheme {
return @[NSColorFromRGB(0xfa897a), NSColorFromRGB(0x11897a), NSColorFromRGB(0xaa8923)];
return @[NSColorFromRGB(0xfa897a), NSColorFromRGB(0x11897a), NSColorFromRGB(0xaa8923), NSColorFromRGB(0x3588ab)];
}

- (void)updateTheme:(JNThemeType)type {
if (type == JNThemeType_Normal) {
_backgroundColor = NSColorFromRGB(0xfa897a);
_detailColor = NSColorFromRGB(0x8F53C4);
} else if (type == JNThemeType_Green) {
if (type == JNThemeType_Green) {
_backgroundColor = NSColorFromRGB(0x11897a);
_detailColor = NSColorFromRGB(0x8F5011);
_detailColor = NSColorFromRGB(0x335021);
} else if (type == JNThemeType_Gray) {
_backgroundColor = NSColorFromRGB(0xaa8923);
_detailColor = NSColorFromRGB(0x774411);
} else if (type == JNThemeType_Nice) {
_backgroundColor = NSColorFromRGB(0x3588ab);
_detailColor = NSColorFromRGB(0x324488);
} else {
_backgroundColor = NSColorFromRGB(0xfa897a);
_detailColor = NSColorFromRGB(0x8F53C4);
}

[[NSUserDefaults standardUserDefaults] setObject:@(type) forKey:UserSaveThemeIndexKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}

@end
Binary file modified demoImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 22cd1c2

Please sign in to comment.