OLD | NEW |
1 // Copyright (c) 2011 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 #include "chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.h" | 5 #include "chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/translate/translate_infobar_delegate.h" | 10 #include "chrome/browser/translate/translate_infobar_delegate.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 } | 90 } |
91 | 91 |
92 void AfterTranslateInfoBar::OnOriginalLanguageModified(GtkWidget* sender) { | 92 void AfterTranslateInfoBar::OnOriginalLanguageModified(GtkWidget* sender) { |
93 size_t index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender)); | 93 size_t index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender)); |
94 if (index == GetDelegate()->original_language_index()) | 94 if (index == GetDelegate()->original_language_index()) |
95 return; | 95 return; |
96 | 96 |
97 // Setting the language will lead to a new translation that is going to close | 97 // Setting the language will lead to a new translation that is going to close |
98 // the infobar. This is not OK to do this from the signal handler, so we'll | 98 // the infobar. This is not OK to do this from the signal handler, so we'll |
99 // defer it. | 99 // defer it. |
100 MessageLoop::current()->PostTask( | 100 base::MessageLoop::current()->PostTask( |
101 FROM_HERE, | 101 FROM_HERE, |
102 base::Bind(&AfterTranslateInfoBar::SetOriginalLanguage, | 102 base::Bind(&AfterTranslateInfoBar::SetOriginalLanguage, |
103 weak_factory_.GetWeakPtr(), | 103 weak_factory_.GetWeakPtr(), |
104 index)); | 104 index)); |
105 } | 105 } |
106 | 106 |
107 void AfterTranslateInfoBar::OnTargetLanguageModified(GtkWidget* sender) { | 107 void AfterTranslateInfoBar::OnTargetLanguageModified(GtkWidget* sender) { |
108 size_t index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender)); | 108 size_t index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender)); |
109 if (index == GetDelegate()->target_language_index()) | 109 if (index == GetDelegate()->target_language_index()) |
110 return; | 110 return; |
111 | 111 |
112 // See comment in OnOriginalLanguageModified on why we use a task. | 112 // See comment in OnOriginalLanguageModified on why we use a task. |
113 MessageLoop::current()->PostTask( | 113 base::MessageLoop::current()->PostTask( |
114 FROM_HERE, | 114 FROM_HERE, |
115 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, | 115 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, |
116 weak_factory_.GetWeakPtr(), | 116 weak_factory_.GetWeakPtr(), |
117 index)); | 117 index)); |
118 } | 118 } |
119 | 119 |
120 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { | 120 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { |
121 GetDelegate()->RevertTranslation(); | 121 GetDelegate()->RevertTranslation(); |
122 } | 122 } |
OLD | NEW |