| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/gtk/bookmark_bar_gtk.h" | 5 #include "chrome/browser/gtk/bookmark_bar_gtk.h" |
| 6 | 6 |
| 7 #include "app/gfx/gtk_util.h" | 7 #include "app/gfx/gtk_util.h" |
| 8 #include "app/gfx/text_elider.h" | 8 #include "app/gfx/text_elider.h" |
| 9 #include "app/l10n_util.h" | 9 #include "app/l10n_util.h" |
| 10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| 11 #include "base/gfx/gtk_util.h" | 11 #include "base/gfx/gtk_util.h" |
| 12 #include "base/pickle.h" | 12 #include "base/pickle.h" |
| 13 #include "chrome/browser/bookmarks/bookmark_context_menu.h" | 13 #include "chrome/browser/bookmarks/bookmark_context_menu.h" |
| 14 #include "chrome/browser/bookmarks/bookmark_drag_data.h" | 14 #include "chrome/browser/bookmarks/bookmark_drag_data.h" |
| 15 #include "chrome/browser/bookmarks/bookmark_utils.h" | 15 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 16 #include "chrome/browser/browser.h" | 16 #include "chrome/browser/browser.h" |
| 17 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" | 17 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" |
| 18 #include "chrome/browser/gtk/bookmark_tree_model.h" |
| 18 #include "chrome/browser/gtk/custom_button.h" | 19 #include "chrome/browser/gtk/custom_button.h" |
| 19 #include "chrome/browser/gtk/dnd_registry.h" | 20 #include "chrome/browser/gtk/dnd_registry.h" |
| 20 #include "chrome/browser/gtk/gtk_chrome_button.h" | 21 #include "chrome/browser/gtk/gtk_chrome_button.h" |
| 21 #include "chrome/browser/gtk/nine_box.h" | 22 #include "chrome/browser/gtk/nine_box.h" |
| 22 #include "chrome/browser/metrics/user_metrics.h" | 23 #include "chrome/browser/metrics/user_metrics.h" |
| 23 #include "chrome/browser/profile.h" | 24 #include "chrome/browser/profile.h" |
| 24 #include "chrome/common/gtk_util.h" | 25 #include "chrome/common/gtk_util.h" |
| 25 #include "chrome/common/pref_names.h" | 26 #include "chrome/common/pref_names.h" |
| 26 #include "chrome/common/pref_service.h" | 27 #include "chrome/common/pref_service.h" |
| 27 #include "grit/app_resources.h" | 28 #include "grit/app_resources.h" |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 title = title.substr(0, std::min(title.size(), kMaxCharsOnAButton)); | 402 title = title.substr(0, std::min(title.size(), kMaxCharsOnAButton)); |
| 402 gtk_button_set_label(GTK_BUTTON(button), WideToUTF8(title).c_str()); | 403 gtk_button_set_label(GTK_BUTTON(button), WideToUTF8(title).c_str()); |
| 403 | 404 |
| 404 if (node->is_url()) { | 405 if (node->is_url()) { |
| 405 if (model_->GetFavIcon(node).width() != 0) { | 406 if (model_->GetFavIcon(node).width() != 0) { |
| 406 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&model_->GetFavIcon(node)); | 407 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&model_->GetFavIcon(node)); |
| 407 gtk_button_set_image(GTK_BUTTON(button), | 408 gtk_button_set_image(GTK_BUTTON(button), |
| 408 gtk_image_new_from_pixbuf(pixbuf)); | 409 gtk_image_new_from_pixbuf(pixbuf)); |
| 409 g_object_unref(pixbuf); | 410 g_object_unref(pixbuf); |
| 410 } else { | 411 } else { |
| 411 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 412 gtk_button_set_image(GTK_BUTTON(button), |
| 412 static GdkPixbuf* default_bookmark_icon = rb.GetPixbufNamed( | 413 gtk_image_new_from_pixbuf(bookmark_utils::GetFolderIcon())); |
| 413 IDR_DEFAULT_FAVICON); | |
| 414 gtk_button_set_image(GTK_BUTTON(button), | |
| 415 gtk_image_new_from_pixbuf(default_bookmark_icon)); | |
| 416 } | 414 } |
| 417 } else { | 415 } else { |
| 418 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | |
| 419 static GdkPixbuf* default_bookmark_icon = rb.GetPixbufNamed( | |
| 420 IDR_BOOKMARK_BAR_FOLDER); | |
| 421 gtk_button_set_image(GTK_BUTTON(button), | 416 gtk_button_set_image(GTK_BUTTON(button), |
| 422 gtk_image_new_from_pixbuf(default_bookmark_icon)); | 417 gtk_image_new_from_pixbuf(bookmark_utils::GetDefaultFavicon())); |
| 423 } | 418 } |
| 424 | 419 |
| 425 SetButtonTextColors(button); | 420 SetButtonTextColors(button); |
| 426 g_object_set_data(G_OBJECT(button), kBookmarkNode, | 421 g_object_set_data(G_OBJECT(button), kBookmarkNode, |
| 427 reinterpret_cast<void*>(node)); | 422 reinterpret_cast<void*>(node)); |
| 428 } | 423 } |
| 429 | 424 |
| 430 GtkWidget* BookmarkBarGtk::CreateBookmarkButton( | 425 GtkWidget* BookmarkBarGtk::CreateBookmarkButton( |
| 431 BookmarkNode* node) { | 426 BookmarkNode* node) { |
| 432 GtkWidget* button = gtk_chrome_button_new(); | 427 GtkWidget* button = gtk_chrome_button_new(); |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 cairo_rectangle(cr, event->area.x, event->area.y, | 834 cairo_rectangle(cr, event->area.x, event->area.y, |
| 840 event->area.width, event->area.height); | 835 event->area.width, event->area.height); |
| 841 cairo_clip(cr); | 836 cairo_clip(cr); |
| 842 bar->InitBackground(); | 837 bar->InitBackground(); |
| 843 bar->background_ninebox_->RenderTopCenterStrip(cr, event->area.x, | 838 bar->background_ninebox_->RenderTopCenterStrip(cr, event->area.x, |
| 844 0, event->area.width); | 839 0, event->area.width); |
| 845 cairo_destroy(cr); | 840 cairo_destroy(cr); |
| 846 | 841 |
| 847 return FALSE; // Propagate expose to children. | 842 return FALSE; // Propagate expose to children. |
| 848 } | 843 } |
| OLD | NEW |