masakih

うぇぶブラウザ変更くん For ばちすか〜ふ(プロジェクト終了)

  • R/O
  • HTTP
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

BathyScapheのデフォルトWebブラウザを変更するプラグイン


Commit MetaInfo

修订版fec00a372e1c29657d10fdcbb094edbb957994b0 (tree)
时间2013-02-10 11:42:29
作者masakih <masakih@user...>
Commitermasakih

Log Message

[Fix] ブラウザが正しく変更されない問題を修正

更改概述

差异

--- a/HMWebBrowserChanger/HMWebBrowserChanger.m
+++ b/HMWebBrowserChanger/HMWebBrowserChanger.m
@@ -54,6 +54,11 @@ additionalEventParamDescriptor:nil
5454 toObject:self
5555 withKeyPath:@"browserIdentifier"
5656 options:nil];
57+
58+ [self.viewController addObserver:self
59+ forKeyPath:@"appIdentifier"
60+ options:NSKeyValueObservingOptionNew
61+ context:self.viewController];
5762 }
5863 return [self.viewController view];
5964 }
@@ -61,6 +66,10 @@ additionalEventParamDescriptor:nil
6166
6267 - (void)setPreference:(id)pref forKey:(id)key
6368 {
69+ if(!key) {
70+ [[self.defaults imagePreviewerPrefsDict] removeObjectForKey:key];
71+ return;
72+ }
6473 [[self.defaults imagePreviewerPrefsDict] setObject:pref forKey:key];
6574 }
6675 - (id)preferenceForKey:(id)key
@@ -80,5 +89,16 @@ additionalEventParamDescriptor:nil
8089 [tmp release];
8190 }
8291
92+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
93+{
94+ if(context == self.viewController) {
95+ if([keyPath isEqualToString:@"appIdentifier"]) {
96+ self.browserIdentifier = [change objectForKey:NSKeyValueChangeNewKey];
97+ }
98+ return;
99+ }
100+
101+ [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
102+}
83103
84104 @end