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

Side by Side Diff: chrome/browser/ui/gtk/extensions/media_galleries_dialog_gtk.cc

Issue 12090078: Media Galleries: Update tooltips in permission dialogs when galleries change. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 10 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/extensions/media_galleries_dialog_gtk.h" 5 #include "chrome/browser/ui/gtk/extensions/media_galleries_dialog_gtk.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/media_gallery/media_galleries_preferences.h" 9 #include "chrome/browser/media_gallery/media_galleries_preferences.h"
10 #include "chrome/browser/ui/gtk/gtk_util.h" 10 #include "chrome/browser/ui/gtk/gtk_util.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 void MediaGalleriesDialogGtk::UpdateGallery( 94 void MediaGalleriesDialogGtk::UpdateGallery(
95 const MediaGalleryPrefInfo* gallery, 95 const MediaGalleryPrefInfo* gallery,
96 bool permitted) { 96 bool permitted) {
97 CheckboxMap::iterator iter = checkbox_map_.find(gallery); 97 CheckboxMap::iterator iter = checkbox_map_.find(gallery);
98 98
99 GtkWidget* widget = NULL; 99 GtkWidget* widget = NULL;
100 if (iter != checkbox_map_.end()) { 100 if (iter != checkbox_map_.end()) {
101 widget = iter->second; 101 widget = iter->second;
102 } else { 102 } else {
103 widget = gtk_check_button_new(); 103 widget = gtk_check_button_new();
104 gtk_widget_set_tooltip_text(widget, UTF16ToUTF8(
105 MediaGalleriesDialogController::GetGalleryTooltip(*gallery)).c_str());
106 g_signal_connect(widget, "toggled", G_CALLBACK(OnToggledThunk), this); 104 g_signal_connect(widget, "toggled", G_CALLBACK(OnToggledThunk), this);
107 gtk_box_pack_start(GTK_BOX(checkbox_container_), widget, FALSE, FALSE, 0); 105 gtk_box_pack_start(GTK_BOX(checkbox_container_), widget, FALSE, FALSE, 0);
108 gtk_widget_show(widget); 106 gtk_widget_show(widget);
109 checkbox_map_[gallery] = widget; 107 checkbox_map_[gallery] = widget;
110 } 108 }
111 109
110 gtk_widget_set_tooltip_text(widget, UTF16ToUTF8(
111 MediaGalleriesDialogController::GetGalleryTooltip(*gallery)).c_str());
112
112 base::AutoReset<bool> reset(&ignore_toggles_, true); 113 base::AutoReset<bool> reset(&ignore_toggles_, true);
113 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), permitted); 114 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), permitted);
114 std::string label_text = UTF16ToUTF8( 115 std::string label_text = UTF16ToUTF8(
115 MediaGalleriesDialogController::GetGalleryDisplayName(*gallery)); 116 MediaGalleriesDialogController::GetGalleryDisplayName(*gallery));
116 gtk_button_set_label(GTK_BUTTON(widget), label_text.c_str()); 117 gtk_button_set_label(GTK_BUTTON(widget), label_text.c_str());
117 } 118 }
118 119
119 GtkWidget* MediaGalleriesDialogGtk::GetWidgetRoot() { 120 GtkWidget* MediaGalleriesDialogGtk::GetWidgetRoot() {
120 return contents_.get(); 121 return contents_.get();
121 } 122 }
122 123
123 GtkWidget* MediaGalleriesDialogGtk::GetFocusWidget() { 124 GtkWidget* MediaGalleriesDialogGtk::GetFocusWidget() {
124 return confirm_; 125 return confirm_;
125 } 126 }
126 127
127 void MediaGalleriesDialogGtk::DeleteDelegate() { 128 void MediaGalleriesDialogGtk::DeleteDelegate() {
128 controller_->DialogFinished(accepted_); 129 controller_->DialogFinished(accepted_);
129 } 130 }
130 131
131 void MediaGalleriesDialogGtk::OnToggled(GtkWidget* widget) { 132 void MediaGalleriesDialogGtk::OnToggled(GtkWidget* widget) {
132 if (confirm_) 133 if (confirm_)
133 gtk_widget_set_sensitive(confirm_, TRUE); 134 gtk_widget_set_sensitive(confirm_, TRUE);
134 135
135 if (ignore_toggles_) 136 if (ignore_toggles_)
136 return; 137 return;
137 138
138 for (CheckboxMap::iterator iter = checkbox_map_.begin(); 139 for (CheckboxMap::const_iterator iter = checkbox_map_.begin();
139 iter != checkbox_map_.end(); ++iter) { 140 iter != checkbox_map_.end(); ++iter) {
140 if (iter->second == widget) { 141 if (iter->second == widget) {
141 controller_->DidToggleGallery( 142 controller_->DidToggleGallery(
142 iter->first, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))); 143 iter->first, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
143 return; 144 return;
144 } 145 }
145 } 146 }
146 147
147 NOTREACHED(); 148 NOTREACHED();
148 return; 149 return;
(...skipping 14 matching lines...) Expand all
163 164
164 // MediaGalleriesDialogController ---------------------------------------------- 165 // MediaGalleriesDialogController ----------------------------------------------
165 166
166 // static 167 // static
167 MediaGalleriesDialog* MediaGalleriesDialog::Create( 168 MediaGalleriesDialog* MediaGalleriesDialog::Create(
168 MediaGalleriesDialogController* controller) { 169 MediaGalleriesDialogController* controller) {
169 return new MediaGalleriesDialogGtk(controller); 170 return new MediaGalleriesDialogGtk(controller);
170 } 171 }
171 172
172 } // namespace chrome 173 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698