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 |