Index: chrome/browser/ui/gtk/avatar_menu_button_gtk.cc |
diff --git a/chrome/browser/ui/gtk/avatar_menu_button_gtk.cc b/chrome/browser/ui/gtk/avatar_menu_button_gtk.cc |
deleted file mode 100644 |
index 40d375bcc473f0134fbb1bdd2852ccc271cac31a..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/gtk/avatar_menu_button_gtk.cc |
+++ /dev/null |
@@ -1,88 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/gtk/avatar_menu_button_gtk.h" |
- |
-#include "base/i18n/rtl.h" |
-#include "chrome/app/chrome_command_ids.h" |
-#include "chrome/browser/command_updater.h" |
-#include "chrome/browser/profiles/profile_avatar_icon_util.h" |
-#include "chrome/browser/profiles/profile_metrics.h" |
-#include "chrome/browser/ui/browser.h" |
-#include "chrome/browser/ui/browser_commands.h" |
-#include "chrome/browser/ui/gtk/avatar_menu_bubble_gtk.h" |
-#include "chrome/browser/ui/gtk/bubble/bubble_gtk.h" |
-#include "ui/gfx/gtk_util.h" |
- |
-AvatarMenuButtonGtk::AvatarMenuButtonGtk(Browser* browser) |
- : image_(NULL), |
- browser_(browser), |
- frame_style_(BubbleGtk::ANCHOR_TOP_LEFT), |
- is_gaia_picture_(false), |
- old_height_(0) { |
- GtkWidget* event_box = gtk_event_box_new(); |
- image_ = gtk_image_new(); |
- gtk_container_add(GTK_CONTAINER(event_box), image_); |
- |
- g_signal_connect(event_box, "button-press-event", |
- G_CALLBACK(OnButtonPressedThunk), this); |
- g_signal_connect(event_box, "size-allocate", |
- G_CALLBACK(OnSizeAllocateThunk), this); |
- |
- gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE); |
- |
- widget_.Own(event_box); |
-} |
- |
-AvatarMenuButtonGtk::~AvatarMenuButtonGtk() { |
-} |
- |
-void AvatarMenuButtonGtk::SetIcon(const gfx::Image& image, |
- bool is_gaia_picture) { |
- icon_.reset(new gfx::Image(image)); |
- is_gaia_picture_ = is_gaia_picture; |
- UpdateButtonIcon(); |
-} |
- |
-gboolean AvatarMenuButtonGtk::OnButtonPressed(GtkWidget* widget, |
- GdkEventButton* event) { |
- if (event->button != 1) |
- return FALSE; |
- |
- ShowAvatarBubble(); |
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ICON_AVATAR_BUBBLE); |
- return TRUE; |
-} |
- |
-void AvatarMenuButtonGtk::OnSizeAllocate(GtkWidget* widget, |
- GtkAllocation* allocation) { |
- if (allocation->height != old_height_) |
- UpdateButtonIcon(); |
-} |
- |
-void AvatarMenuButtonGtk::ShowAvatarBubble() { |
- DCHECK(chrome::IsCommandEnabled(browser_, IDC_SHOW_AVATAR_MENU)); |
- // Only show the avatar bubble if the avatar button is in the title bar. |
- if (gtk_widget_get_parent_window(widget_.get())) |
- new AvatarMenuBubbleGtk(browser_, widget_.get(), frame_style_, NULL); |
-} |
- |
-void AvatarMenuButtonGtk::UpdateButtonIcon() { |
- if (!icon_.get()) |
- return; |
- |
- GtkAllocation allocation; |
- gtk_widget_get_allocation(widget(), &allocation); |
- old_height_ = allocation.height; |
- |
- // GAIA images are square; use kWidth for both destination height and width |
- // since old_height_ is often not usable (typically a value of 1 which, after |
- // subtracting border, tries to resize the profile image to a size of -1). |
- gfx::Image icon = profiles::GetAvatarIconForTitleBar( |
- *icon_, is_gaia_picture_, |
- profiles::kAvatarIconWidth, profiles::kAvatarIconWidth); |
- gtk_image_set_from_pixbuf(GTK_IMAGE(image_), icon.ToGdkPixbuf()); |
- gtk_misc_set_alignment(GTK_MISC(image_), 0.0, 1.0); |
- gtk_widget_set_size_request(image_, -1, 0); |
-} |