| Index: chrome/browser/views/options/user_data_page_view.h
 | 
| ===================================================================
 | 
| --- chrome/browser/views/options/user_data_page_view.h	(revision 0)
 | 
| +++ chrome/browser/views/options/user_data_page_view.h	(revision 0)
 | 
| @@ -0,0 +1,88 @@
 | 
| +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +#ifdef CHROME_PERSONALIZATION
 | 
| +
 | 
| +#ifndef CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
 | 
| +#define CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
 | 
| +
 | 
| +#include "chrome/browser/sync/profile_sync_service.h"
 | 
| +#include "chrome/browser/views/options/options_page_view.h"
 | 
| +#include "chrome/common/pref_member.h"
 | 
| +#include "views/controls/button/button.h"
 | 
| +#include "views/controls/link.h"
 | 
| +#include "views/view.h"
 | 
| +
 | 
| +namespace views {
 | 
| +class GroupboxView;
 | 
| +class Label;
 | 
| +class NativeButton;
 | 
| +}
 | 
| +
 | 
| +// TODO(idana): once the p13n module becomes public, we should get rid of the
 | 
| +// sync specific options dialog tab and just add a bookmark sync section to the
 | 
| +// existing (and newly added) "Personal Stuff" tab.
 | 
| +
 | 
| +class OptionsGroupView;
 | 
| +
 | 
| +///////////////////////////////////////////////////////////////////////////////
 | 
| +// UserDataPageView
 | 
| +
 | 
| +class UserDataPageView : public OptionsPageView,
 | 
| +                         public views::ButtonListener,
 | 
| +                         public views::LinkController,
 | 
| +                         public ProfileSyncServiceObserver {
 | 
| + public:
 | 
| +  explicit UserDataPageView(Profile* profile);
 | 
| +  virtual ~UserDataPageView();
 | 
| +
 | 
| + protected:
 | 
| +  // views::ButtonListener implementation:
 | 
| +  virtual void ButtonPressed(views::Button* sender);
 | 
| +
 | 
| +  // views::LinkController method.
 | 
| +  virtual void LinkActivated(views::Link* source, int event_flags);
 | 
| +
 | 
| +  // OptionsPageView implementation:
 | 
| +  virtual void InitControlLayout();
 | 
| +  virtual void NotifyPrefChanged(const std::wstring* pref_name);
 | 
| +  virtual void HighlightGroup(OptionsGroup highlight_group);
 | 
| +
 | 
| +  // views::View overrides:
 | 
| +  virtual void Layout();
 | 
| +
 | 
| +  // ProfileSyncServiceObserver methods.
 | 
| +  virtual void OnStateChanged();
 | 
| +
 | 
| + private:
 | 
| +  // Updates various controls based on the current sync state.
 | 
| +  void UpdateControls();
 | 
| +  // Returns whether initialization of controls is done or not.
 | 
| +  bool IsInitialized() const {
 | 
| +    // If initialization is already done, all the UI controls data members
 | 
| +    // should be non-NULL. So check for one of them to determine if controls
 | 
| +    // are already initialized or not.
 | 
| +    return sync_group_ != NULL;
 | 
| +  }
 | 
| +  // Helper to get status label for synced state.
 | 
| +  std::wstring GetSyncedStateStatusLabel() const;
 | 
| +
 | 
| +  void InitSyncGroup();
 | 
| +
 | 
| +  // Controls for the Sync group.
 | 
| +  OptionsGroupView* sync_group_;
 | 
| +  views::Label* sync_status_label_;
 | 
| +  views::Link* sync_action_link_;
 | 
| +  views::NativeButton* sync_start_stop_button_;
 | 
| +
 | 
| +  // Cached pointer to ProfileSyncService, if it exists. Kept up to date
 | 
| +  // and NULL-ed out on destruction.
 | 
| +  ProfileSyncService* sync_service_;
 | 
| +
 | 
| +  DISALLOW_COPY_AND_ASSIGN(UserDataPageView);
 | 
| +};
 | 
| +
 | 
| +#endif  // CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
 | 
| +
 | 
| +#endif  // CHROME_PERSONALIZATION
 | 
| 
 | 
| Property changes on: chrome\browser\views\options\user_data_page_view.h
 | 
| ___________________________________________________________________
 | 
| Added: svn:eol-style
 | 
|    + LF
 | 
| 
 | 
| 
 |