diff options
author | dantasse@chromium.org <dantasse@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 17:06:26 +0000 |
---|---|---|
committer | dantasse@chromium.org <dantasse@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 17:06:26 +0000 |
commit | f6f940eff9ff7cd676de4e231257113a74b05e72 (patch) | |
tree | 094072d7a0fe09899017bb89e38762a5bff99bf6 | |
parent | c45ce15766d2902f807b63a3926dafd00ce90746 (diff) | |
download | chromium_src-f6f940eff9ff7cd676de4e231257113a74b05e72.zip chromium_src-f6f940eff9ff7cd676de4e231257113a74b05e72.tar.gz chromium_src-f6f940eff9ff7cd676de4e231257113a74b05e72.tar.bz2 |
Remove the option to stop syncing if you're in Chrome OS. Also hide the "Customize" button in case of an error.
BUG=none
TEST=build and run Chrome for Linux. Start syncing. Then build for Chrome OS. Try to stop syncing. Note that you cannot.
Review URL: http://codereview.chromium.org/1578020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44367 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/app_menu_model.cc | 5 | ||||
-rw-r--r-- | chrome/browser/chromeos/status/browser_status_area_view.cc | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/preferences_window_controller.mm | 10 | ||||
-rw-r--r-- | chrome/browser/gtk/options/content_page_gtk.cc | 18 | ||||
-rw-r--r-- | chrome/browser/gtk/options/content_page_gtk.h | 2 | ||||
-rw-r--r-- | chrome/browser/sync/profile_sync_service.cc | 7 | ||||
-rw-r--r-- | chrome/browser/views/options/content_page_view.cc | 2 |
7 files changed, 39 insertions, 7 deletions
diff --git a/chrome/browser/app_menu_model.cc b/chrome/browser/app_menu_model.cc index 93d3a43..67ec6b2 100644 --- a/chrome/browser/app_menu_model.cc +++ b/chrome/browser/app_menu_model.cc @@ -66,12 +66,17 @@ void AppMenuModel::Build() { AddSeparator(); + // The user is always signed in to sync on Chrome OS, so there's no sense + // showing this label. +#if !defined(OS_CHROMEOS) // We assume that IsSyncEnabled() is constant for the lifetime of the // program (it just checks command-line flags). if (ProfileSyncService::IsSyncEnabled()) { AddItem(IDC_SYNC_BOOKMARKS, GetSyncMenuLabel()); AddSeparator(); } +#endif + #if defined(OS_MACOSX) AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES_MAC); #else diff --git a/chrome/browser/chromeos/status/browser_status_area_view.cc b/chrome/browser/chromeos/status/browser_status_area_view.cc index 681c761..4b89aac 100644 --- a/chrome/browser/chromeos/status/browser_status_area_view.cc +++ b/chrome/browser/chromeos/status/browser_status_area_view.cc @@ -119,11 +119,13 @@ AppMenuModel* BrowserStatusAreaView::CreateAppMenuModel( if (!options_menu_contents_.get()) options_menu_contents_.reset(new OptionsMenuModel(browser)); +#if !defined(OS_CHROMEOS) int sync_index = menu_model->GetIndexOfCommandId(IDC_SYNC_BOOKMARKS); DCHECK_GE(sync_index, 0); menu_model->InsertItemWithStringIdAt( sync_index + 1, IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); menu_model->InsertSeparatorAt(sync_index + 1); +#endif int options_index = menu_model->GetIndexOfCommandId(IDC_OPTIONS); DCHECK_GE(options_index, 0); diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm index f2af366..f2fdc37 100644 --- a/chrome/browser/cocoa/preferences_window_controller.mm +++ b/chrome/browser/cocoa/preferences_window_controller.mm @@ -1668,9 +1668,14 @@ const int kDisabledIndex = 1; - (void)syncStateChanged { DCHECK(syncService_); + string16 statusLabel, linkLabel; + sync_ui_util::MessageType status = + sync_ui_util::GetStatusLabels(syncService_, &statusLabel, &linkLabel); + [syncButton_ setEnabled:!syncService_->WizardIsVisible()]; NSString* buttonLabel; - if (syncService_->HasSyncSetupCompleted()) { + if (syncService_->HasSyncSetupCompleted() + && status != sync_ui_util::SYNC_ERROR) { buttonLabel = l10n_util::GetNSStringWithFixup( IDS_SYNC_STOP_SYNCING_BUTTON_LABEL); [syncCustomizeButton_ setHidden:false]; @@ -1685,9 +1690,6 @@ const int kDisabledIndex = 1; } [syncButton_ setTitle:buttonLabel]; - string16 statusLabel, linkLabel; - sync_ui_util::MessageType status = - sync_ui_util::GetStatusLabels(syncService_, &statusLabel, &linkLabel); [syncStatus_ setStringValue:base::SysUTF16ToNSString(statusLabel)]; [syncLink_ setHidden:linkLabel.empty()]; [syncLink_ setTitle:base::SysUTF16ToNSString(linkLabel)]; diff --git a/chrome/browser/gtk/options/content_page_gtk.cc b/chrome/browser/gtk/options/content_page_gtk.cc index 0e69244..22a635e 100644 --- a/chrome/browser/gtk/options/content_page_gtk.cc +++ b/chrome/browser/gtk/options/content_page_gtk.cc @@ -69,9 +69,11 @@ ContentPageGtk::ContentPageGtk(Profile* profile) : OptionsPageBase(profile), sync_status_label_background_(NULL), sync_status_label_(NULL), +#if !defined(OS_CHROMEOS) sync_action_link_background_(NULL), sync_action_link_(NULL), sync_start_stop_button_(NULL), +#endif sync_customize_button_(NULL), initializing_(true), sync_service_(NULL) { @@ -366,6 +368,7 @@ GtkWidget* ContentPageGtk::InitSyncGroup() { gtk_container_add(GTK_CONTAINER(sync_status_label_background_), sync_status_label_); +#if !defined(OS_CHROMEOS) // Sync action link. GtkWidget* link_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing); sync_action_link_background_ = gtk_event_box_new(); @@ -378,16 +381,19 @@ GtkWidget* ContentPageGtk::InitSyncGroup() { gtk_container_add(GTK_CONTAINER(sync_action_link_background_), sync_action_link_); gtk_widget_hide(sync_action_link_background_); +#endif // Add the sync button into its own horizontal box so it does not // depend on the spacing above. GtkWidget* button_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing); gtk_container_add(GTK_CONTAINER(vbox), button_hbox); +#if !defined(OS_CHROMEOS) sync_start_stop_button_ = gtk_button_new_with_label(""); g_signal_connect(sync_start_stop_button_, "clicked", G_CALLBACK(OnSyncStartStopButtonClickedThunk), this); gtk_box_pack_start(GTK_BOX(button_hbox), sync_start_stop_button_, FALSE, FALSE, 0); +#endif sync_customize_button_ = gtk_button_new_with_label(""); g_signal_connect(sync_customize_button_, "clicked", G_CALLBACK(OnSyncCustomizeButtonClickedThunk), this); @@ -418,13 +424,18 @@ void ContentPageGtk::UpdateSyncControls() { gtk_label_set_label(GTK_LABEL(sync_status_label_), UTF16ToUTF8(status_label).c_str()); +#if !defined(OS_CHROMEOS) gtk_widget_set_sensitive(sync_start_stop_button_, !sync_service_->WizardIsVisible()); gtk_button_set_label(GTK_BUTTON(sync_start_stop_button_), button_label.c_str()); - gtk_widget_set_child_visible(sync_customize_button_, sync_setup_completed); +#endif + + gtk_widget_set_child_visible(sync_customize_button_, + sync_setup_completed && !status_has_error); gtk_button_set_label(GTK_BUTTON(sync_customize_button_), customize_button_label.c_str()); +#if !defined(OS_CHROMEOS) gtk_chrome_link_button_set_label(GTK_CHROME_LINK_BUTTON(sync_action_link_), UTF16ToUTF8(link_label).c_str()); if (link_label.empty()) { @@ -434,14 +445,19 @@ void ContentPageGtk::UpdateSyncControls() { gtk_widget_set_no_show_all(sync_action_link_background_, FALSE); gtk_widget_show(sync_action_link_background_); } +#endif if (status_has_error) { gtk_widget_modify_bg(sync_status_label_background_, GTK_STATE_NORMAL, &kSyncLabelErrorBgColor); +#if !defined(OS_CHROMEOS) gtk_widget_modify_bg(sync_action_link_background_, GTK_STATE_NORMAL, &kSyncLabelErrorBgColor); +#endif } else { gtk_widget_modify_bg(sync_status_label_background_, GTK_STATE_NORMAL, NULL); +#if !defined(OS_CHROMEOS) gtk_widget_modify_bg(sync_action_link_background_, GTK_STATE_NORMAL, NULL); +#endif } } diff --git a/chrome/browser/gtk/options/content_page_gtk.h b/chrome/browser/gtk/options/content_page_gtk.h index c4f0923..ecca96f 100644 --- a/chrome/browser/gtk/options/content_page_gtk.h +++ b/chrome/browser/gtk/options/content_page_gtk.h @@ -89,7 +89,9 @@ class ContentPageGtk : public OptionsPageBase, GtkWidget* sync_status_label_; GtkWidget* sync_action_link_background_; GtkWidget* sync_action_link_; +#if !defined(OS_CHROMEOS) GtkWidget* sync_start_stop_button_; +#endif GtkWidget* sync_customize_button_; // The parent GtkTable widget diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc index 5c502a4..4781619 100644 --- a/chrome/browser/sync/profile_sync_service.cc +++ b/chrome/browser/sync/profile_sync_service.cc @@ -141,11 +141,16 @@ void ProfileSyncService::RegisterPreferences() { pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, false); - // If you've never synced before, all datatypes are on by default. + // If you've never synced before, or if you're using Chrome OS, all datatypes + // are on by default. // TODO(nick): Perhaps a better model would be to always default to false, // and explicitly call SetDataTypes() when the user shows the wizard. +#if defined(OS_CHROMEOS) + bool enable_by_default = true; +#else bool enable_by_default = !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted); +#endif pref_service->RegisterBooleanPref(prefs::kSyncBookmarks, true); pref_service->RegisterBooleanPref(prefs::kSyncPreferences, enable_by_default); diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc index e6cf2ef..22b1b83 100644 --- a/chrome/browser/views/options/content_page_view.cc +++ b/chrome/browser/views/options/content_page_view.cc @@ -490,7 +490,7 @@ void ContentPageView::UpdateSyncControls() { sync_start_stop_button_->SetEnabled(!sync_service_->WizardIsVisible()); sync_start_stop_button_->SetLabel(button_label); sync_customize_button_->SetLabel(customize_button_label); - sync_customize_button_->SetVisible(sync_setup_completed); + sync_customize_button_->SetVisible(sync_setup_completed && !status_has_error); sync_action_link_->SetText(link_label); sync_action_link_->SetVisible(!link_label.empty()); |