summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/preferences_window_controller.mm
diff options
context:
space:
mode:
authorpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-08 15:55:45 +0000
committerpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-08 15:55:45 +0000
commit9a2668af70fefef3b25303b9cab561047c109c37 (patch)
tree89890c85db11c057f2f63c3753d10a11c32bab0e /chrome/browser/cocoa/preferences_window_controller.mm
parent67f3e65e1b7365184d6f439121fe9d36d41c1ced (diff)
downloadchromium_src-9a2668af70fefef3b25303b9cab561047c109c37.zip
chromium_src-9a2668af70fefef3b25303b9cab561047c109c37.tar.gz
chromium_src-9a2668af70fefef3b25303b9cab561047c109c37.tar.bz2
Fix default browser info string to change text and color instead of hiding/showing. Record default browser metric.
Review URL: http://codereview.chromium.org/115129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15638 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/preferences_window_controller.mm')
-rw-r--r--chrome/browser/cocoa/preferences_window_controller.mm70
1 files changed, 50 insertions, 20 deletions
diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm
index ed7b859..49dc364 100644
--- a/chrome/browser/cocoa/preferences_window_controller.mm
+++ b/chrome/browser/cocoa/preferences_window_controller.mm
@@ -4,6 +4,7 @@
#import "chrome/browser/cocoa/preferences_window_controller.h"
+#include "app/l10n_util.h"
#include "base/mac_util.h"
#include "base/string_util.h"
#include "base/sys_string_conversions.h"
@@ -18,6 +19,8 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/pref_service.h"
#include "chrome/common/url_constants.h"
+#include "grit/chromium_strings.h"
+#include "grit/generated_resources.h"
NSString* const kUserDoneEditingPrefsNotification =
@"kUserDoneEditingPrefsNotification";
@@ -165,30 +168,14 @@ class PrefObserverBridge : public NotificationObserver {
paths = [paths setByAddingObject:@"restoreOnStartupIndex"];
} else if ([key isEqualToString:@"isDefaultBrowser"]) {
paths = [paths setByAddingObject:@"defaultBrowser"];
+ } else if ([key isEqualToString:@"defaultBrowserTextColor"]) {
+ paths = [paths setByAddingObject:@"defaultBrowser"];
+ } else if ([key isEqualToString:@"defaultBrowserText"]) {
+ paths = [paths setByAddingObject:@"defaultBrowser"];
}
return paths;
}
-// Called when the user clicks the button to make Chromium the default
-// browser. Registers http and https.
-- (IBAction)makeDefaultBrowser:(id)sender {
- ShellIntegration::SetAsDefaultBrowser();
-
- // Tickle KVO so that the UI updates.
- [self setDefaultBrowser:YES];
-}
-
-// A stub setter so that we can trick KVO into thinking the UI needs
-// to be updated.
-- (void)setDefaultBrowser:(BOOL)ignore {
- // Do nothing.
-}
-
-// Returns if Chromium is the default browser.
-- (BOOL)isDefaultBrowser {
- return ShellIntegration::IsDefaultBrowser() ? YES : NO;
-}
-
//-------------------------------------------------------------------------
// Basics panel
@@ -363,6 +350,49 @@ enum { kHomepageNewTabPage, kHomepageURL };
showPageOptionButtons_.SetValue(value ? true : false);
}
+// Called when the user clicks the button to make Chromium the default
+// browser. Registers http and https.
+- (IBAction)makeDefaultBrowser:(id)sender {
+ ShellIntegration::SetAsDefaultBrowser();
+ [self recordUserAction:L"Options_SetAsDefaultBrowser"];
+ // If the user made Chrome the default browser, then he/she arguably wants
+ // to be notified when that changes.
+ prefs_->SetBoolean(prefs::kCheckDefaultBrowser, true);
+
+ // Tickle KVO so that the UI updates.
+ [self setDefaultBrowser:YES];
+}
+
+// A stub setter so that we can trick KVO into thinking the UI needs
+// to be updated.
+- (void)setDefaultBrowser:(BOOL)ignore {
+ // Do nothing.
+}
+
+// Returns if Chromium is the default browser.
+- (BOOL)isDefaultBrowser {
+ return ShellIntegration::IsDefaultBrowser() ? YES : NO;
+}
+
+// Returns the text color of the "chromium is your default browser" text (green
+// for yes, red for no).
+- (NSColor*)defaultBrowserTextColor {
+ return [self isDefaultBrowser] ?
+ [NSColor colorWithCalibratedRed:0.0 green:135.0/255.0 blue:0 alpha:1.0] :
+ [NSColor colorWithCalibratedRed:135.0/255.0 green:0 blue:0 alpha:1.0];
+}
+
+// Returns the text for the "chromium is your default browser" string dependent
+// on if Chromium actually is or not.
+- (NSString*)defaultBrowserText {
+ BOOL isDefault = [self isDefaultBrowser];
+ int stringId = isDefault ? IDS_OPTIONS_DEFAULTBROWSER_DEFAULT :
+ IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT;
+ std::wstring text =
+ l10n_util::GetStringF(stringId, l10n_util::GetString(IDS_PRODUCT_NAME));
+ return base::SysWideToNSString(text);
+}
+
//-------------------------------------------------------------------------
// Minor Tweaks panel