| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ | 6 #define CHROME_BROWSER_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/file_path.h" |
| 10 #include "base/string16.h" | 11 #include "base/string16.h" |
| 11 #include "chrome/browser/chromeos/cros/network_library.h" | 12 #include "chrome/browser/chromeos/cros/network_library.h" |
| 13 #include "chrome/browser/shell_dialogs.h" |
| 12 #include "views/controls/button/button.h" | 14 #include "views/controls/button/button.h" |
| 15 #include "views/controls/button/image_button.h" |
| 16 #include "views/controls/button/native_button.h" |
| 13 #include "views/controls/textfield/textfield.h" | 17 #include "views/controls/textfield/textfield.h" |
| 14 #include "views/view.h" | 18 #include "views/view.h" |
| 15 | 19 |
| 16 namespace chromeos { | 20 namespace chromeos { |
| 17 | 21 |
| 18 class NetworkConfigView; | 22 class NetworkConfigView; |
| 19 | 23 |
| 20 // A dialog box for showing a password textfield. | 24 // A dialog box for showing a password textfield. |
| 21 class WifiConfigView : public views::View, | 25 class WifiConfigView : public views::View, |
| 22 public views::Textfield::Controller, | 26 public views::Textfield::Controller, |
| 23 public views::ButtonListener { | 27 public views::ButtonListener, |
| 28 public SelectFileDialog::Listener { |
| 24 public: | 29 public: |
| 25 WifiConfigView(NetworkConfigView* parent, WifiNetwork wifi); | 30 WifiConfigView(NetworkConfigView* parent, WifiNetwork wifi); |
| 26 explicit WifiConfigView(NetworkConfigView* parent); | 31 explicit WifiConfigView(NetworkConfigView* parent); |
| 27 virtual ~WifiConfigView() {} | 32 virtual ~WifiConfigView() {} |
| 28 | 33 |
| 29 // views::Textfield::Controller methods. | 34 // views::Textfield::Controller methods. |
| 30 virtual void ContentsChanged(views::Textfield* sender, | 35 virtual void ContentsChanged(views::Textfield* sender, |
| 31 const string16& new_contents); | 36 const string16& new_contents); |
| 32 virtual bool HandleKeystroke(views::Textfield* sender, | 37 virtual bool HandleKeystroke(views::Textfield* sender, |
| 33 const views::Textfield::Keystroke& keystroke) { | 38 const views::Textfield::Keystroke& keystroke) { |
| 34 return false; | 39 return false; |
| 35 } | 40 } |
| 36 | 41 |
| 37 // views::ButtonListener | 42 // views::ButtonListener |
| 38 virtual void ButtonPressed(views::Button* sender, const views::Event& event); | 43 virtual void ButtonPressed(views::Button* sender, const views::Event& event); |
| 39 | 44 |
| 45 // SelectFileDialog::Listener implementation. |
| 46 virtual void FileSelected(const FilePath& path, int index, void* params); |
| 47 |
| 48 virtual bool Accept(); |
| 49 |
| 40 // Get the typed in ssid. | 50 // Get the typed in ssid. |
| 41 const string16& GetSSID() const; | 51 const string16& GetSSID() const; |
| 42 // Get the typed in passphrase. | 52 // Get the typed in passphrase. |
| 43 const string16& GetPassphrase() const; | 53 const string16& GetPassphrase() const; |
| 44 | 54 |
| 45 // Returns true if the textfields are non-empty and we can login. | 55 // Returns true if the textfields are non-empty and we can login. |
| 46 bool can_login() const { return can_login_; } | 56 bool can_login() const { return can_login_; } |
| 47 | 57 |
| 48 // Focus the first field in the UI. | 58 // Focus the first field in the UI. |
| 49 void FocusFirstField(); | 59 void FocusFirstField(); |
| 50 | 60 |
| 51 private: | 61 private: |
| 52 // Initializes UI. | 62 // Initializes UI. |
| 53 void Init(); | 63 void Init(); |
| 54 | 64 |
| 65 void UpdateCanLogin(); |
| 66 |
| 55 NetworkConfigView* parent_; | 67 NetworkConfigView* parent_; |
| 56 | 68 |
| 57 bool other_network_; | 69 bool other_network_; |
| 58 | 70 |
| 59 // Whether or not we can log in. This gets recalculated when textfield | 71 // Whether or not we can log in. This gets recalculated when textfield |
| 60 // contents change. | 72 // contents change. |
| 61 bool can_login_; | 73 bool can_login_; |
| 62 | 74 |
| 63 WifiNetwork wifi_; | 75 WifiNetwork wifi_; |
| 64 | 76 |
| 65 views::Textfield* ssid_textfield_; | 77 views::Textfield* ssid_textfield_; |
| 78 views::Textfield* identity_textfield_; |
| 79 views::NativeButton* certificate_browse_button_; |
| 80 scoped_refptr<SelectFileDialog> select_file_dialog_; |
| 81 FilePath certificate_path_; |
| 66 views::Textfield* passphrase_textfield_; | 82 views::Textfield* passphrase_textfield_; |
| 83 views::ImageButton* passphrase_visible_button_; |
| 67 | 84 |
| 68 DISALLOW_COPY_AND_ASSIGN(WifiConfigView); | 85 DISALLOW_COPY_AND_ASSIGN(WifiConfigView); |
| 69 }; | 86 }; |
| 70 | 87 |
| 71 } // namespace chromeos | 88 } // namespace chromeos |
| 72 | 89 |
| 73 #endif // CHROME_BROWSER_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ | 90 #endif // CHROME_BROWSER_CHROMEOS_OPTIONS_WIFI_CONFIG_VIEW_H_ |
| OLD | NEW |