| OLD | NEW | 
|    1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #ifndef CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ |    5 #ifndef CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ | 
|    6 #define CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ |    6 #define CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ | 
|    7 #pragma once |    7 #pragma once | 
|    8  |    8  | 
|    9 #include <gtk/gtk.h> |    9 #include "chrome/browser/ui/gtk/options/content_page_gtk.h" | 
|   10  |   10 // TODO(msw): remove this file once all includes have been updated. | 
|   11 #include <string> |  | 
|   12  |  | 
|   13 #include "app/gtk_signal.h" |  | 
|   14 #include "chrome/browser/autofill/personal_data_manager.h" |  | 
|   15 #include "chrome/browser/gtk/options/managed_prefs_banner_gtk.h" |  | 
|   16 #include "chrome/browser/prefs/pref_member.h" |  | 
|   17 #include "chrome/browser/sync/profile_sync_service.h" |  | 
|   18 #include "chrome/browser/ui/options/options_page_base.h" |  | 
|   19  |  | 
|   20 class Profile; |  | 
|   21  |  | 
|   22 class ContentPageGtk : public OptionsPageBase, |  | 
|   23                        public ProfileSyncServiceObserver { |  | 
|   24  public: |  | 
|   25   explicit ContentPageGtk(Profile* profile); |  | 
|   26   ~ContentPageGtk(); |  | 
|   27  |  | 
|   28   GtkWidget* get_page_widget() const { |  | 
|   29     return page_; |  | 
|   30   } |  | 
|   31  |  | 
|   32   // ProfileSyncServiceObserver method. |  | 
|   33   virtual void OnStateChanged(); |  | 
|   34  |  | 
|   35  private: |  | 
|   36   // Updates various sync controls based on the current sync state. |  | 
|   37   void UpdateSyncControls(); |  | 
|   38  |  | 
|   39   // Overridden from OptionsPageBase. |  | 
|   40   virtual void NotifyPrefChanged(const std::string* pref_name); |  | 
|   41  |  | 
|   42   // Overridden from OptionsPageBase. |  | 
|   43   virtual void Observe(NotificationType type, |  | 
|   44                        const NotificationSource& source, |  | 
|   45                        const NotificationDetails& details); |  | 
|   46  |  | 
|   47   // Update content area after a theme changed. |  | 
|   48   void ObserveThemeChanged(); |  | 
|   49  |  | 
|   50   // Initialize the option group widgets, return their container. |  | 
|   51   GtkWidget* InitPasswordSavingGroup(); |  | 
|   52   GtkWidget* InitFormAutoFillGroup(); |  | 
|   53   GtkWidget* InitBrowsingDataGroup(); |  | 
|   54   GtkWidget* InitThemesGroup(); |  | 
|   55   GtkWidget* InitSyncGroup(); |  | 
|   56  |  | 
|   57   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnImportButtonClicked); |  | 
|   58   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnGtkThemeButtonClicked); |  | 
|   59   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnResetDefaultThemeButtonClicked); |  | 
|   60   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnGetThemesButtonClicked); |  | 
|   61   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnSystemTitleBarRadioToggled); |  | 
|   62   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnShowPasswordsButtonClicked); |  | 
|   63   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnPasswordRadioToggled); |  | 
|   64   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnAutoFillButtonClicked); |  | 
|   65   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnSyncStartStopButtonClicked); |  | 
|   66   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnSyncCustomizeButtonClicked); |  | 
|   67   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnSyncActionLinkClicked); |  | 
|   68   CHROMEGTK_CALLBACK_1(ContentPageGtk, void, OnStopSyncDialogResponse, int); |  | 
|   69   CHROMEGTK_CALLBACK_0(ContentPageGtk, void, OnPrivacyDashboardLinkClicked); |  | 
|   70  |  | 
|   71   // Widgets for the Password saving group. |  | 
|   72   GtkWidget* passwords_asktosave_radio_; |  | 
|   73   GtkWidget* passwords_neversave_radio_; |  | 
|   74   GtkWidget* show_passwords_button_; |  | 
|   75  |  | 
|   76   // Widgets for the AutoFill group. |  | 
|   77   GtkWidget* autofill_button_; |  | 
|   78  |  | 
|   79   // Widgets for the Appearance group. |  | 
|   80   GtkWidget* system_title_bar_show_radio_; |  | 
|   81   GtkWidget* system_title_bar_hide_radio_; |  | 
|   82   GtkWidget* themes_reset_button_; |  | 
|   83 #if defined(TOOLKIT_GTK) |  | 
|   84   GtkWidget* gtk_theme_button_; |  | 
|   85 #endif |  | 
|   86  |  | 
|   87   // Widgets for the Sync group. |  | 
|   88   GtkWidget* sync_status_label_background_; |  | 
|   89   GtkWidget* sync_status_label_; |  | 
|   90   GtkWidget* sync_action_link_background_; |  | 
|   91   GtkWidget* sync_action_link_; |  | 
|   92   GtkWidget* sync_start_stop_button_; |  | 
|   93   GtkWidget* sync_customize_button_; |  | 
|   94   GtkWidget* privacy_dashboard_link_; |  | 
|   95  |  | 
|   96   // The parent GtkTable widget |  | 
|   97   GtkWidget* page_; |  | 
|   98  |  | 
|   99   // Pref members. |  | 
|  100   BooleanPrefMember ask_to_save_passwords_; |  | 
|  101   BooleanPrefMember form_autofill_enabled_; |  | 
|  102   BooleanPrefMember use_custom_chrome_frame_; |  | 
|  103  |  | 
|  104   // Flag to ignore gtk callbacks while we are loading prefs, to avoid |  | 
|  105   // then turning around and saving them again. |  | 
|  106   bool initializing_; |  | 
|  107  |  | 
|  108   NotificationRegistrar registrar_; |  | 
|  109  |  | 
|  110   // Cached pointer to ProfileSyncService, if it exists. Kept up to date |  | 
|  111   // and NULL-ed out on destruction. |  | 
|  112   ProfileSyncService* sync_service_; |  | 
|  113  |  | 
|  114   // Tracks managed preference warning banner state. |  | 
|  115   ManagedPrefsBannerGtk managed_prefs_banner_; |  | 
|  116  |  | 
|  117   DISALLOW_COPY_AND_ASSIGN(ContentPageGtk); |  | 
|  118 }; |  | 
|  119  |   11  | 
|  120 #endif  // CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ |   12 #endif  // CHROME_BROWSER_GTK_OPTIONS_CONTENT_PAGE_GTK_H_ | 
| OLD | NEW |