OSDN Git Service

リロード後1分以上経たないと再度リロードできなくした
authormasakih <masakih@users.sourceforge.jp>
Wed, 12 Mar 2014 14:57:35 +0000 (23:57 +0900)
committermasakih <masakih@users.sourceforge.jp>
Wed, 12 Mar 2014 14:57:35 +0000 (23:57 +0900)
#50152

KCD/HMBroserWindowController.m

index 8c61564..61ad4bd 100644 (file)
@@ -15,6 +15,8 @@
 #import "HMCoreDataManager.h"
 
 
+static NSString *prevReloadDateStringKey = @"previousReloadDateString";
+
 @interface HMBroserWindowController ()
 
 @property (strong) NSViewController *selectedViewController;
 {
        id /*NSClipView * */ clip = [self.webView superview];
        [clip scrollToPoint:NSMakePoint(70, 425)];
+       
+       NSString *prevReloadDateString = [[NSUserDefaults standardUserDefaults] stringForKey:prevReloadDateStringKey];
+       if(prevReloadDateString) {
+               NSDate *prevDate = [NSDate dateWithString:prevReloadDateString];
+               NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0];
+               if([now timeIntervalSinceDate:prevDate] < 1 * 60) {
+                       NSDate *untilDate = [prevDate dateByAddingTimeInterval:1 * 60];
+                       NSString *date = [NSDateFormatter localizedStringFromDate:untilDate
+                                                                                                                       dateStyle:NSDateFormatterNoStyle
+                                                                                                                       timeStyle:NSDateFormatterMediumStyle];
+                       NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Reload interval is too short", @"")
+                                                                                        defaultButton:nil
+                                                                                  alternateButton:nil
+                                                                                          otherButton:nil
+                                                                informativeTextWithFormat:NSLocalizedString(@"Reload interval is too short.\nWait until %@.", @""), date];
+                       [alert runModal];
+                       
+                       return;
+               }
+       }
+       
        [self.webView reload:sender];
+       
+       [[NSUserDefaults standardUserDefaults] setValue:[[NSDate dateWithTimeIntervalSinceNow:0] description]
+                                                                                        forKey:prevReloadDateStringKey];
 }