| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "chrome/browser/extensions/extension_install_prompt.h" | 9 #include "chrome/browser/extensions/extension_install_prompt.h" |
| 10 #include "ui/gfx/animation/animation_delegate.h" | 10 #include "ui/gfx/animation/animation_delegate.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 namespace extensions { | 24 namespace extensions { |
| 25 class ExperienceSamplingEvent; | 25 class ExperienceSamplingEvent; |
| 26 } | 26 } |
| 27 | 27 |
| 28 namespace ui { | 28 namespace ui { |
| 29 class ResourceBundle; | 29 class ResourceBundle; |
| 30 } | 30 } |
| 31 | 31 |
| 32 namespace views { | 32 namespace views { |
| 33 class GridLayout; | 33 class GridLayout; |
| 34 class ImageButton; | |
| 35 class Link; | 34 class Link; |
| 36 } | 35 } |
| 37 | 36 |
| 38 // Implements the extension installation dialog for TOOLKIT_VIEWS. | 37 // Implements the extension installation dialog for TOOLKIT_VIEWS. |
| 39 class ExtensionInstallDialogView : public views::DialogDelegateView, | 38 class ExtensionInstallDialogView : public views::DialogDelegateView, |
| 40 public views::LinkListener { | 39 public views::LinkListener { |
| 41 public: | 40 public: |
| 42 ExtensionInstallDialogView( | 41 ExtensionInstallDialogView( |
| 43 Profile* profile, | 42 Profile* profile, |
| 44 content::PageNavigator* navigator, | 43 content::PageNavigator* navigator, |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 162 |
| 164 private: | 163 private: |
| 165 // A view which displays all the details of an IssueAdviceInfoEntry. | 164 // A view which displays all the details of an IssueAdviceInfoEntry. |
| 166 class DetailsView : public views::View { | 165 class DetailsView : public views::View { |
| 167 public: | 166 public: |
| 168 DetailsView(int horizontal_space, bool parent_bulleted); | 167 DetailsView(int horizontal_space, bool parent_bulleted); |
| 169 ~DetailsView() override {} | 168 ~DetailsView() override {} |
| 170 | 169 |
| 171 // views::View: | 170 // views::View: |
| 172 gfx::Size GetPreferredSize() const override; | 171 gfx::Size GetPreferredSize() const override; |
| 172 int GetHeightForWidth(int width) const override; |
| 173 | 173 |
| 174 void AddDetail(const base::string16& detail); | 174 void AddDetail(const base::string16& detail); |
| 175 | 175 |
| 176 // Animates this to be a height proportional to |state|. | 176 // Animates this to be a height proportional to |state|. |
| 177 void AnimateToState(double state); | 177 void AnimateToState(double state); |
| 178 | 178 |
| 179 private: | 179 private: |
| 180 views::GridLayout* layout_; | 180 views::GridLayout* layout_; |
| 181 double state_; | 181 double state_; |
| 182 | 182 |
| 183 DISALLOW_COPY_AND_ASSIGN(DetailsView); | 183 DISALLOW_COPY_AND_ASSIGN(DetailsView); |
| 184 }; | 184 }; |
| 185 | 185 |
| 186 // Expand/Collapse the detail section for this ExpandableContainerView. | 186 // Expand/Collapse the detail section for this ExpandableContainerView. |
| 187 void ToggleDetailLevel(); | 187 void ToggleDetailLevel(); |
| 188 | 188 |
| 189 // Updates |arrow_toggle_| according to the given state. | |
| 190 void UpdateArrowToggle(bool expanded); | |
| 191 | |
| 192 // A view for showing |issue_advice.details|. | 189 // A view for showing |issue_advice.details|. |
| 193 DetailsView* details_view_; | 190 DetailsView* details_view_; |
| 194 | 191 |
| 195 gfx::SlideAnimation slide_animation_; | 192 gfx::SlideAnimation slide_animation_; |
| 196 | 193 |
| 197 // The 'more details' link shown under the heading (changes to 'hide details' | 194 // The 'more details' link shown under the heading (changes to 'hide details' |
| 198 // when the details section is expanded). | 195 // when the details section is expanded). |
| 199 views::Link* more_details_; | 196 views::Link* more_details_; |
| 200 | 197 |
| 201 // The up/down arrow next to the 'more detail' link (points up/down depending | |
| 202 // on whether the details section is expanded). | |
| 203 views::ImageButton* arrow_toggle_; | |
| 204 | |
| 205 // Whether the details section is expanded. | 198 // Whether the details section is expanded. |
| 206 bool expanded_; | 199 bool expanded_; |
| 207 | 200 |
| 208 DISALLOW_COPY_AND_ASSIGN(ExpandableContainerView); | 201 DISALLOW_COPY_AND_ASSIGN(ExpandableContainerView); |
| 209 }; | 202 }; |
| 210 | 203 |
| 211 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ | 204 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_INSTALL_DIALOG_VIEW_H_ |
| OLD | NEW |