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

Side by Side Diff: chrome/browser/ui/gtk/content_setting_bubble_gtk.cc

Issue 12457016: Added "None available" title and grey out the media menu when there is no device. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed the comments. Created 7 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/gtk/content_setting_bubble_gtk.h" 5 #include "chrome/browser/ui/gtk/content_setting_bubble_gtk.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 250
251 // Store the gtk menu to the map. 251 // Store the gtk menu to the map.
252 gtk_menu->menu_model.reset(new ContentSettingMediaMenuModel( 252 gtk_menu->menu_model.reset(new ContentSettingMediaMenuModel(
253 gtk_menu->type, 253 gtk_menu->type,
254 content_setting_bubble_model_.get(), 254 content_setting_bubble_model_.get(),
255 base::Bind(&ContentSettingBubbleGtk::UpdateMenuLabel, 255 base::Bind(&ContentSettingBubbleGtk::UpdateMenuLabel,
256 base::Unretained(this)))); 256 base::Unretained(this))));
257 gtk_menu->menu.reset(new MenuGtk(NULL, gtk_menu->menu_model.get())); 257 gtk_menu->menu.reset(new MenuGtk(NULL, gtk_menu->menu_model.get()));
258 media_menus_[button] = gtk_menu; 258 media_menus_[button] = gtk_menu;
259 259
260 if (!gtk_menu->menu_model->GetItemCount()) {
261 // Show a "None available" title and grey out the menu when there is no
262 // available device.
263 UpdateMenuLabel(
264 gtk_menu->type,
265 l10n_util::GetStringUTF8(IDS_MEDIA_MENU_NO_DEVICE_TITLE));
266 gtk_widget_set_sensitive(button, FALSE);
267 }
268
260 // Use the longest width of the menus as the width of the menu buttons. 269 // Use the longest width of the menus as the width of the menu buttons.
261 GtkRequisition menu_req; 270 GtkRequisition menu_req;
262 gtk_widget_size_request(gtk_menu->menu->widget(), &menu_req); 271 gtk_widget_size_request(gtk_menu->menu->widget(), &menu_req);
263 menu_width = std::max(menu_width, menu_req.width); 272 menu_width = std::max(menu_width, menu_req.width);
264 273
265 g_signal_connect(button, "clicked", G_CALLBACK(OnMenuButtonClickedThunk), 274 g_signal_connect(button, "clicked", G_CALLBACK(OnMenuButtonClickedThunk),
266 this); 275 this);
267 gtk_table_attach(GTK_TABLE(table), button, 1, 2, row, row + 1, 276 gtk_table_attach(GTK_TABLE(table), button, 1, 2, row, row + 1,
268 GTK_FILL, GTK_FILL, ui::kControlSpacing * 2, 277 GTK_FILL, GTK_FILL, ui::kControlSpacing * 2,
269 ui::kControlSpacing / 2); 278 ui::kControlSpacing / 2);
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 GtkMediaMenuMap::iterator i(media_menus_.find(button)); 415 GtkMediaMenuMap::iterator i(media_menus_.find(button));
407 DCHECK(i != media_menus_.end()); 416 DCHECK(i != media_menus_.end());
408 i->second->menu->PopupForWidget(button, 1, gtk_get_current_event_time()); 417 i->second->menu->PopupForWidget(button, 1, gtk_get_current_event_time());
409 } 418 }
410 419
411 ContentSettingBubbleGtk::MediaMenuGtk::MediaMenuGtk( 420 ContentSettingBubbleGtk::MediaMenuGtk::MediaMenuGtk(
412 content::MediaStreamType type) 421 content::MediaStreamType type)
413 : type(type) {} 422 : type(type) {}
414 423
415 ContentSettingBubbleGtk::MediaMenuGtk::~MediaMenuGtk() {} 424 ContentSettingBubbleGtk::MediaMenuGtk::~MediaMenuGtk() {}
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/ui/views/content_setting_bubble_contents.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698