| 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/location_bar_view_gtk.h" | 5 #include "chrome/browser/gtk/location_bar_view_gtk.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "app/resource_bundle.h" | 9 #include "app/resource_bundle.h" |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "base/gfx/gtk_util.h" | 11 #include "base/gfx/gtk_util.h" |
| 12 #include "base/logging.h" | 12 #include "base/logging.h" |
| 13 #include "base/string_util.h" | 13 #include "base/string_util.h" |
| 14 #include "chrome/app/chrome_dll_resource.h" | 14 #include "chrome/app/chrome_dll_resource.h" |
| 15 #include "chrome/browser/alternate_nav_url_fetcher.h" | 15 #include "chrome/browser/alternate_nav_url_fetcher.h" |
| 16 #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" | 16 #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" |
| 17 #include "chrome/browser/command_updater.h" | 17 #include "chrome/browser/command_updater.h" |
| 18 #include "chrome/browser/gtk/gtk_theme_provider.h" |
| 18 #include "chrome/browser/tab_contents/tab_contents.h" | 19 #include "chrome/browser/tab_contents/tab_contents.h" |
| 19 #include "chrome/common/gtk_util.h" | 20 #include "chrome/common/gtk_util.h" |
| 20 #include "chrome/common/page_transition_types.h" | 21 #include "chrome/common/page_transition_types.h" |
| 21 #include "third_party/skia/include/core/SkBitmap.h" | 22 #include "third_party/skia/include/core/SkBitmap.h" |
| 22 #include "webkit/glue/window_open_disposition.h" | 23 #include "webkit/glue/window_open_disposition.h" |
| 23 | 24 |
| 24 namespace { | 25 namespace { |
| 25 | 26 |
| 26 // Top and bottom padding/margin | 27 // Top and bottom padding/margin |
| 27 // We are positioned with a little bit of extra space that we don't use now. | 28 // We are positioned with a little bit of extra space that we don't use now. |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 | 110 |
| 110 info_label_ = gtk_label_new(NULL); | 111 info_label_ = gtk_label_new(NULL); |
| 111 gtk_widget_modify_base(info_label_, GTK_STATE_NORMAL, | 112 gtk_widget_modify_base(info_label_, GTK_STATE_NORMAL, |
| 112 &LocationBarViewGtk::kBackgroundColorByLevel[0]); | 113 &LocationBarViewGtk::kBackgroundColorByLevel[0]); |
| 113 gtk_widget_hide(GTK_WIDGET(info_label_)); | 114 gtk_widget_hide(GTK_WIDGET(info_label_)); |
| 114 | 115 |
| 115 g_signal_connect(hbox_.get(), "expose-event", | 116 g_signal_connect(hbox_.get(), "expose-event", |
| 116 G_CALLBACK(&HandleExposeThunk), this); | 117 G_CALLBACK(&HandleExposeThunk), this); |
| 117 | 118 |
| 118 GtkWidget* align = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); | 119 GtkWidget* align = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); |
| 119 gtk_alignment_set_padding(GTK_ALIGNMENT(align), | 120 // TODO(erg): Redo this so that it adjusts during theme changes. |
| 120 kTopMargin + kBorderThickness, | 121 if (GtkThemeProvider::UseSystemThemeGraphics(profile_)) { |
| 121 kBottomMargin + kBorderThickness, | 122 gtk_alignment_set_padding(GTK_ALIGNMENT(align), |
| 122 kEditLeftRightPadding, kEditLeftRightPadding); | 123 0, 0, |
| 124 kEditLeftRightPadding, kEditLeftRightPadding); |
| 125 } else { |
| 126 gtk_alignment_set_padding(GTK_ALIGNMENT(align), |
| 127 kTopMargin + kBorderThickness, |
| 128 kBottomMargin + kBorderThickness, |
| 129 kEditLeftRightPadding, kEditLeftRightPadding); |
| 130 } |
| 123 gtk_container_add(GTK_CONTAINER(align), location_entry_->widget()); | 131 gtk_container_add(GTK_CONTAINER(align), location_entry_->widget()); |
| 124 gtk_box_pack_start(GTK_BOX(hbox_.get()), align, TRUE, TRUE, 0); | 132 gtk_box_pack_start(GTK_BOX(hbox_.get()), align, TRUE, TRUE, 0); |
| 125 | 133 |
| 126 // Pack info_label_ and security icons in hbox. We hide/show them | 134 // Pack info_label_ and security icons in hbox. We hide/show them |
| 127 // by SetSecurityIcon() and SetInfoText(). | 135 // by SetSecurityIcon() and SetInfoText(). |
| 128 info_label_align_ = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); | 136 info_label_align_ = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); |
| 129 gtk_alignment_set_padding(GTK_ALIGNMENT(info_label_align_), | 137 gtk_alignment_set_padding(GTK_ALIGNMENT(info_label_align_), |
| 130 kTopMargin + kBorderThickness, | 138 kTopMargin + kBorderThickness, |
| 131 kBottomMargin + kBorderThickness, | 139 kBottomMargin + kBorderThickness, |
| 132 0, kEvTextPaddingRight); | 140 0, kEvTextPaddingRight); |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 } else { | 355 } else { |
| 348 DCHECK_EQ(info_text_type, ToolbarModel::INFO_NO_INFO); | 356 DCHECK_EQ(info_text_type, ToolbarModel::INFO_NO_INFO); |
| 349 DCHECK(info_text.empty()); | 357 DCHECK(info_text.empty()); |
| 350 // Clear info_text. Should we reset the fg here? | 358 // Clear info_text. Should we reset the fg here? |
| 351 gtk_widget_hide(GTK_WIDGET(info_label_align_)); | 359 gtk_widget_hide(GTK_WIDGET(info_label_align_)); |
| 352 } | 360 } |
| 353 gtk_label_set_text(GTK_LABEL(info_label_), WideToUTF8(info_text).c_str()); | 361 gtk_label_set_text(GTK_LABEL(info_label_), WideToUTF8(info_text).c_str()); |
| 354 gtk_widget_set_tooltip_text(GTK_WIDGET(info_label_), | 362 gtk_widget_set_tooltip_text(GTK_WIDGET(info_label_), |
| 355 WideToUTF8(info_tooltip).c_str()); | 363 WideToUTF8(info_tooltip).c_str()); |
| 356 } | 364 } |
| OLD | NEW |