Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: chrome/browser/ui/views/infobars/after_translate_infobar.h

Issue 10952016: Simplify the translate infobar code some. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_
6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_ 6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_
7 7
8 #include "chrome/browser/translate/languages_menu_model.h"
9 #include "chrome/browser/translate/options_menu_model.h" 8 #include "chrome/browser/translate/options_menu_model.h"
10 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h" 9 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h"
10 #include "chrome/browser/ui/views/infobars/translate_language_menu_model.h"
11 #include "ui/views/controls/button/menu_button_listener.h" 11 #include "ui/views/controls/button/menu_button_listener.h"
12 12
13 class TranslateInfoBarDelegate; 13 class TranslateInfoBarDelegate;
14 namespace views { 14 namespace views {
15 class MenuButton; 15 class MenuButton;
16 } 16 }
17 17
18 class AfterTranslateInfoBar : public TranslateInfoBarBase, 18 class AfterTranslateInfoBar : public TranslateInfoBarBase,
19 public views::MenuButtonListener { 19 public views::MenuButtonListener {
20 public: 20 public:
21 AfterTranslateInfoBar(InfoBarTabHelper* owner, 21 AfterTranslateInfoBar(InfoBarTabHelper* owner,
22 TranslateInfoBarDelegate* delegate); 22 TranslateInfoBarDelegate* delegate);
23 23
24 private: 24 private:
25 virtual ~AfterTranslateInfoBar(); 25 virtual ~AfterTranslateInfoBar();
26 26
27 // TranslateInfoBarBase: 27 // TranslateInfoBarBase:
28 virtual void Layout() OVERRIDE; 28 virtual void Layout() OVERRIDE;
29 virtual void ViewHierarchyChanged(bool is_add, 29 virtual void ViewHierarchyChanged(bool is_add,
30 views::View* parent, 30 views::View* parent,
31 views::View* child) OVERRIDE; 31 views::View* child) OVERRIDE;
32 virtual void ButtonPressed(views::Button* sender, 32 virtual void ButtonPressed(views::Button* sender,
33 const ui::Event& event) OVERRIDE; 33 const ui::Event& event) OVERRIDE;
34 virtual int ContentMinimumWidth() const OVERRIDE; 34 virtual int ContentMinimumWidth() const OVERRIDE;
35 virtual void OriginalLanguageChanged() OVERRIDE;
36 virtual void TargetLanguageChanged() OVERRIDE;
37 35
38 // views::MenuButtonListener: 36 // views::MenuButtonListener:
39 virtual void OnMenuButtonClicked(views::View* source, 37 virtual void OnMenuButtonClicked(views::View* source,
40 const gfx::Point& point) OVERRIDE; 38 const gfx::Point& point) OVERRIDE;
41 39
42 // The text displayed in the infobar is something like: 40 // The text displayed in the infobar is something like:
43 // "Translated from <lang1> to <lang2> [more text in some languages]" 41 // "Translated from <lang1> to <lang2> [more text in some languages]"
44 // ...where <lang1> and <lang2> are comboboxes. So the text is split in 3 42 // ...where <lang1> and <lang2> are comboboxes. So the text is split in 3
45 // chunks, each displayed in one of the labels below. 43 // chunks, each displayed in one of the labels below.
46 views::Label* label_1_; 44 views::Label* label_1_;
47 views::Label* label_2_; 45 views::Label* label_2_;
48 views::Label* label_3_; 46 views::Label* label_3_;
49 47
50 views::MenuButton* original_language_menu_button_; 48 views::MenuButton* original_language_menu_button_;
51 views::MenuButton* target_language_menu_button_; 49 views::MenuButton* target_language_menu_button_;
52 views::TextButton* revert_button_; 50 views::TextButton* revert_button_;
53 views::MenuButton* options_menu_button_; 51 views::MenuButton* options_menu_button_;
54 52
55 LanguagesMenuModel original_language_menu_model_; 53 scoped_ptr<TranslateLanguageMenuModel> original_language_menu_model_;
56 LanguagesMenuModel target_language_menu_model_; 54 scoped_ptr<TranslateLanguageMenuModel> target_language_menu_model_;
57 OptionsMenuModel options_menu_model_; 55 OptionsMenuModel options_menu_model_;
58 56
59 // True if the target language comes before the original one. 57 // True if the target language comes before the original one.
60 bool swapped_language_buttons_; 58 bool swapped_language_buttons_;
61 59
62 DISALLOW_COPY_AND_ASSIGN(AfterTranslateInfoBar); 60 DISALLOW_COPY_AND_ASSIGN(AfterTranslateInfoBar);
63 }; 61 };
64 62
65 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_ 63 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_AFTER_TRANSLATE_INFOBAR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698