| 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/status_bubble_gtk.h" | 5 #include "chrome/browser/ui/gtk/status_bubble_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 // bubble. We should extend ui::ElideUrl to take some sort of pango font. | 108 // bubble. We should extend ui::ElideUrl to take some sort of pango font. |
| 109 url_text_ = UTF16ToUTF8(ui::ElideUrl(url_, gfx::Font(), desired_width, | 109 url_text_ = UTF16ToUTF8(ui::ElideUrl(url_, gfx::Font(), desired_width, |
| 110 UTF16ToWideHack(languages_))); | 110 UTF16ToWideHack(languages_))); |
| 111 SetStatusTextTo(url_text_); | 111 SetStatusTextTo(url_text_); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void StatusBubbleGtk::Show() { | 114 void StatusBubbleGtk::Show() { |
| 115 // If we were going to hide, stop. | 115 // If we were going to hide, stop. |
| 116 hide_timer_.Stop(); | 116 hide_timer_.Stop(); |
| 117 | 117 |
| 118 gtk_widget_show_all(container_.get()); | 118 gtk_widget_show(container_.get()); |
| 119 if (container_->window) | 119 if (container_->window) |
| 120 gdk_window_raise(container_->window); | 120 gdk_window_raise(container_->window); |
| 121 } | 121 } |
| 122 | 122 |
| 123 void StatusBubbleGtk::Hide() { | 123 void StatusBubbleGtk::Hide() { |
| 124 // If we were going to expand the bubble, stop. | 124 // If we were going to expand the bubble, stop. |
| 125 expand_timer_.Stop(); | 125 expand_timer_.Stop(); |
| 126 expand_animation_.reset(); | 126 expand_animation_.reset(); |
| 127 | 127 |
| 128 gtk_widget_hide_all(container_.get()); | 128 gtk_widget_hide(container_.get()); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void StatusBubbleGtk::SetStatusTextTo(const std::string& status_utf8) { | 131 void StatusBubbleGtk::SetStatusTextTo(const std::string& status_utf8) { |
| 132 if (status_utf8.empty()) { | 132 if (status_utf8.empty()) { |
| 133 hide_timer_.Stop(); | 133 hide_timer_.Stop(); |
| 134 hide_timer_.Start(base::TimeDelta::FromMilliseconds(kHideDelay), | 134 hide_timer_.Start(base::TimeDelta::FromMilliseconds(kHideDelay), |
| 135 this, &StatusBubbleGtk::Hide); | 135 this, &StatusBubbleGtk::Hide); |
| 136 } else { | 136 } else { |
| 137 gtk_label_set_text(GTK_LABEL(label_), status_utf8.c_str()); | 137 gtk_label_set_text(GTK_LABEL(label_), status_utf8.c_str()); |
| 138 GtkRequisition req; | 138 GtkRequisition req; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 bool ltr = !base::i18n::IsRTL(); | 246 bool ltr = !base::i18n::IsRTL(); |
| 247 | 247 |
| 248 label_ = gtk_label_new(NULL); | 248 label_ = gtk_label_new(NULL); |
| 249 | 249 |
| 250 padding_ = gtk_alignment_new(0, 0, 1, 1); | 250 padding_ = gtk_alignment_new(0, 0, 1, 1); |
| 251 gtk_alignment_set_padding(GTK_ALIGNMENT(padding_), | 251 gtk_alignment_set_padding(GTK_ALIGNMENT(padding_), |
| 252 kInternalTopBottomPadding, kInternalTopBottomPadding, | 252 kInternalTopBottomPadding, kInternalTopBottomPadding, |
| 253 kInternalLeftRightPadding + (ltr ? 0 : kCornerSize), | 253 kInternalLeftRightPadding + (ltr ? 0 : kCornerSize), |
| 254 kInternalLeftRightPadding + (ltr ? kCornerSize : 0)); | 254 kInternalLeftRightPadding + (ltr ? kCornerSize : 0)); |
| 255 gtk_container_add(GTK_CONTAINER(padding_), label_); | 255 gtk_container_add(GTK_CONTAINER(padding_), label_); |
| 256 gtk_widget_show_all(padding_); |
| 256 | 257 |
| 257 container_.Own(gtk_event_box_new()); | 258 container_.Own(gtk_event_box_new()); |
| 258 gtk_widget_set_no_show_all(container_.get(), TRUE); | 259 gtk_widget_set_no_show_all(container_.get(), TRUE); |
| 259 gtk_util::ActAsRoundedWindow( | 260 gtk_util::ActAsRoundedWindow( |
| 260 container_.get(), gtk_util::kGdkWhite, kCornerSize, | 261 container_.get(), gtk_util::kGdkWhite, kCornerSize, |
| 261 gtk_util::ROUNDED_TOP_RIGHT, | 262 gtk_util::ROUNDED_TOP_RIGHT, |
| 262 gtk_util::BORDER_TOP | gtk_util::BORDER_RIGHT); | 263 gtk_util::BORDER_TOP | gtk_util::BORDER_RIGHT); |
| 263 gtk_widget_set_name(container_.get(), "status-bubble"); | 264 gtk_widget_set_name(container_.get(), "status-bubble"); |
| 264 gtk_container_add(GTK_CONTAINER(container_.get()), padding_); | 265 gtk_container_add(GTK_CONTAINER(container_.get()), padding_); |
| 265 | 266 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 return FALSE; | 357 return FALSE; |
| 357 } | 358 } |
| 358 | 359 |
| 359 void StatusBubbleGtk::AnimationEnded(const ui::Animation* animation) { | 360 void StatusBubbleGtk::AnimationEnded(const ui::Animation* animation) { |
| 360 UpdateLabelSizeRequest(); | 361 UpdateLabelSizeRequest(); |
| 361 } | 362 } |
| 362 | 363 |
| 363 void StatusBubbleGtk::AnimationProgressed(const ui::Animation* animation) { | 364 void StatusBubbleGtk::AnimationProgressed(const ui::Animation* animation) { |
| 364 UpdateLabelSizeRequest(); | 365 UpdateLabelSizeRequest(); |
| 365 } | 366 } |
| OLD | NEW |