Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: chrome/browser/gtk/download_shelf_gtk.cc

Issue 113970: Paint a focus indication on LinkButtonGtk buttons.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/gtk/download_item_gtk.cc ('k') | chrome/browser/gtk/find_bar_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/download_shelf_gtk.h" 5 #include "chrome/browser/gtk/download_shelf_gtk.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "base/gfx/gtk_util.h" 9 #include "base/gfx/gtk_util.h"
10 #include "chrome/browser/download/download_item_model.h" 10 #include "chrome/browser/download/download_item_model.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 GtkWidget* padding_bg = gtk_event_box_new(); 80 GtkWidget* padding_bg = gtk_event_box_new();
81 gtk_container_add(GTK_CONTAINER(padding_bg), padding); 81 gtk_container_add(GTK_CONTAINER(padding_bg), padding);
82 gtk_container_add(GTK_CONTAINER(padding), hbox_); 82 gtk_container_add(GTK_CONTAINER(padding), hbox_);
83 gtk_widget_modify_bg(padding_bg, GTK_STATE_NORMAL, &kBackgroundColor); 83 gtk_widget_modify_bg(padding_bg, GTK_STATE_NORMAL, &kBackgroundColor);
84 84
85 shelf_.Own(gtk_vbox_new(FALSE, 0)); 85 shelf_.Own(gtk_vbox_new(FALSE, 0));
86 gtk_box_pack_start(GTK_BOX(shelf_.get()), top_border, FALSE, FALSE, 0); 86 gtk_box_pack_start(GTK_BOX(shelf_.get()), top_border, FALSE, FALSE, 0);
87 gtk_box_pack_start(GTK_BOX(shelf_.get()), padding_bg, FALSE, FALSE, 0); 87 gtk_box_pack_start(GTK_BOX(shelf_.get()), padding_bg, FALSE, FALSE, 0);
88 88
89 // Create and pack the close button. 89 // Create and pack the close button.
90 close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox_, 0)); 90 close_button_.reset(CustomDrawButton::CloseButton());
91 gtk_util::CenterWidgetInHBox(hbox_, close_button_->widget(), true, 0);
91 g_signal_connect(close_button_->widget(), "clicked", 92 g_signal_connect(close_button_->widget(), "clicked",
92 G_CALLBACK(OnButtonClick), this); 93 G_CALLBACK(OnButtonClick), this);
93 94
94 // Create the "Show all downloads..." link and connect to the click event. 95 // Create the "Show all downloads..." link and connect to the click event.
95 std::string link_text = 96 std::string link_text =
96 l10n_util::GetStringUTF8(IDS_SHOW_ALL_DOWNLOADS); 97 l10n_util::GetStringUTF8(IDS_SHOW_ALL_DOWNLOADS);
97 link_button_.reset(new LinkButtonGtk(link_text.c_str())); 98 link_button_.reset(new LinkButtonGtk(link_text.c_str()));
98 g_signal_connect(link_button_->widget(), "clicked", 99 g_signal_connect(link_button_->widget(), "clicked",
99 G_CALLBACK(OnButtonClick), this); 100 G_CALLBACK(OnButtonClick), this);
100 // Until we switch to vector graphics, force the font size. 101 // Until we switch to vector graphics, force the font size.
101 // 13.4px == 10pt @ 96dpi 102 // 13.4px == 10pt @ 96dpi
102 gtk_util::ForceFontSizePixels(link_button_->label(), 13.4); 103 gtk_util::ForceFontSizePixels(link_button_->label(), 13.4);
103 104
104 // Make the download arrow icon. 105 // Make the download arrow icon.
105 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 106 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
106 GdkPixbuf* download_pixbuf = rb.GetPixbufNamed(IDR_DOWNLOADS_FAVICON); 107 GdkPixbuf* download_pixbuf = rb.GetPixbufNamed(IDR_DOWNLOADS_FAVICON);
107 GtkWidget* download_image = gtk_image_new_from_pixbuf(download_pixbuf); 108 GtkWidget* download_image = gtk_image_new_from_pixbuf(download_pixbuf);
108 109
109 // Pack the link and the icon in an hbox. 110 // Pack the link and the icon in an hbox.
110 link_hbox_ = gtk_hbox_new(FALSE, 5); 111 link_hbox_ = gtk_hbox_new(FALSE, 5);
111 gtk_box_pack_start(GTK_BOX(link_hbox_), download_image, FALSE, FALSE, 0); 112 gtk_util::CenterWidgetInHBox(link_hbox_, download_image, false, 0);
112 gtk_box_pack_start(GTK_BOX(link_hbox_), link_button_->widget(), 113 gtk_util::CenterWidgetInHBox(link_hbox_, link_button_->widget(), false, 0);
113 FALSE, FALSE, 0);
114 gtk_box_pack_end(GTK_BOX(hbox_), link_hbox_, FALSE, FALSE, 0); 114 gtk_box_pack_end(GTK_BOX(hbox_), link_hbox_, FALSE, FALSE, 0);
115 115
116 slide_widget_.reset(new SlideAnimatorGtk(shelf_.get(), 116 slide_widget_.reset(new SlideAnimatorGtk(shelf_.get(),
117 SlideAnimatorGtk::UP, 117 SlideAnimatorGtk::UP,
118 kShelfAnimationDurationMs, 118 kShelfAnimationDurationMs,
119 false, NULL)); 119 false, NULL));
120 gtk_widget_show_all(shelf_.get()); 120 gtk_widget_show_all(shelf_.get());
121 // Stick ourselves at the bottom of the parent tab contents. 121 // Stick ourselves at the bottom of the parent tab contents.
122 GtkWidget* parent_contents = tab_contents->GetNativeView(); 122 GtkWidget* parent_contents = tab_contents->GetNativeView();
123 gtk_box_pack_end(GTK_BOX(parent_contents), slide_widget_->widget(), 123 gtk_box_pack_end(GTK_BOX(parent_contents), slide_widget_->widget(),
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 void DownloadShelfGtk::OnButtonClick(GtkWidget* button, 172 void DownloadShelfGtk::OnButtonClick(GtkWidget* button,
173 DownloadShelfGtk* shelf) { 173 DownloadShelfGtk* shelf) {
174 if (button == shelf->close_button_->widget()) { 174 if (button == shelf->close_button_->widget()) {
175 shelf->slide_widget_->Close(); 175 shelf->slide_widget_->Close();
176 shelf->tab_contents_->SetDownloadShelfVisible(false); 176 shelf->tab_contents_->SetDownloadShelfVisible(false);
177 } else { 177 } else {
178 // The link button was clicked. 178 // The link button was clicked.
179 shelf->ShowAllDownloads(); 179 shelf->ShowAllDownloads();
180 } 180 }
181 } 181 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/download_item_gtk.cc ('k') | chrome/browser/gtk/find_bar_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698