| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/options/cookies_view.h" | 5 #include "chrome/browser/gtk/options/cookies_view.h" |
| 6 | 6 |
| 7 #include <gdk/gdkkeysyms.h> | 7 #include <gdk/gdkkeysyms.h> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 BrowsingDataLocalStorageHelper* browsing_data_local_storage_helper, | 72 BrowsingDataLocalStorageHelper* browsing_data_local_storage_helper, |
| 73 BrowsingDataAppCacheHelper* browsing_data_appcache_helper) | 73 BrowsingDataAppCacheHelper* browsing_data_appcache_helper) |
| 74 : profile_(profile), | 74 : profile_(profile), |
| 75 browsing_data_database_helper_(browsing_data_database_helper), | 75 browsing_data_database_helper_(browsing_data_database_helper), |
| 76 browsing_data_local_storage_helper_(browsing_data_local_storage_helper), | 76 browsing_data_local_storage_helper_(browsing_data_local_storage_helper), |
| 77 browsing_data_appcache_helper_(browsing_data_appcache_helper), | 77 browsing_data_appcache_helper_(browsing_data_appcache_helper), |
| 78 filter_update_factory_(this), | 78 filter_update_factory_(this), |
| 79 destroy_dialog_in_destructor_(false) { | 79 destroy_dialog_in_destructor_(false) { |
| 80 Init(parent); | 80 Init(parent); |
| 81 gtk_widget_show_all(dialog_); | 81 gtk_widget_show_all(dialog_); |
| 82 gtk_chrome_cookie_view_clear(cookie_display_); | 82 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_)); |
| 83 } | 83 } |
| 84 | 84 |
| 85 void CookiesView::TestDestroySyncrhonously() { | 85 void CookiesView::TestDestroySyncrhonously() { |
| 86 g_signal_handler_disconnect(dialog_, destroy_handler_); | 86 g_signal_handler_disconnect(dialog_, destroy_handler_); |
| 87 destroy_dialog_in_destructor_ = true; | 87 destroy_dialog_in_destructor_ = true; |
| 88 } | 88 } |
| 89 | 89 |
| 90 void CookiesView::Init(GtkWindow* parent) { | 90 void CookiesView::Init(GtkWindow* parent) { |
| 91 dialog_ = gtk_dialog_new_with_buttons( | 91 dialog_ = gtk_dialog_new_with_buttons( |
| 92 l10n_util::GetStringUTF8( | 92 l10n_util::GetStringUTF8( |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 g_signal_connect(tree_, "key-press-event", | 203 g_signal_connect(tree_, "key-press-event", |
| 204 G_CALLBACK(OnTreeViewKeyPressThunk), this); | 204 G_CALLBACK(OnTreeViewKeyPressThunk), this); |
| 205 g_signal_connect(tree_, "row-expanded", | 205 g_signal_connect(tree_, "row-expanded", |
| 206 G_CALLBACK(OnTreeViewRowExpandedThunk), this); | 206 G_CALLBACK(OnTreeViewRowExpandedThunk), this); |
| 207 | 207 |
| 208 selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_)); | 208 selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_)); |
| 209 gtk_tree_selection_set_mode(selection_, GTK_SELECTION_SINGLE); | 209 gtk_tree_selection_set_mode(selection_, GTK_SELECTION_SINGLE); |
| 210 g_signal_connect(selection_, "changed", | 210 g_signal_connect(selection_, "changed", |
| 211 G_CALLBACK(OnTreeViewSelectionChangeThunk), this); | 211 G_CALLBACK(OnTreeViewSelectionChangeThunk), this); |
| 212 | 212 |
| 213 cookie_display_ = gtk_chrome_cookie_view_new(); | 213 cookie_display_ = gtk_chrome_cookie_view_new(FALSE); |
| 214 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_)->vbox), | 214 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_)->vbox), |
| 215 GTK_WIDGET(cookie_display_), FALSE, FALSE, 0); | 215 cookie_display_, FALSE, FALSE, 0); |
| 216 | 216 |
| 217 // Populate the view. | 217 // Populate the view. |
| 218 cookies_tree_adapter_->Init(); | 218 cookies_tree_adapter_->Init(); |
| 219 SetInitialTreeState(); | 219 SetInitialTreeState(); |
| 220 EnableControls(); | 220 EnableControls(); |
| 221 } | 221 } |
| 222 | 222 |
| 223 void CookiesView::SetInitialTreeState() { | 223 void CookiesView::SetInitialTreeState() { |
| 224 if (cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())) | 224 if (cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())) |
| 225 gtk_tree::SelectAndFocusRowNum(0, GTK_TREE_VIEW(tree_)); | 225 gtk_tree::SelectAndFocusRowNum(0, GTK_TREE_VIEW(tree_)); |
| 226 } | 226 } |
| 227 | 227 |
| 228 void CookiesView::EnableControls() { | 228 void CookiesView::EnableControls() { |
| 229 GtkTreeIter iter; | 229 GtkTreeIter iter; |
| 230 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); | 230 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); |
| 231 gtk_widget_set_sensitive(remove_button_, selected); | 231 gtk_widget_set_sensitive(remove_button_, selected); |
| 232 gtk_widget_set_sensitive( | 232 gtk_widget_set_sensitive( |
| 233 remove_all_button_, | 233 remove_all_button_, |
| 234 cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())); | 234 cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())); |
| 235 | 235 |
| 236 const gchar* filter_text = gtk_entry_get_text(GTK_ENTRY(filter_entry_)); | 236 const gchar* filter_text = gtk_entry_get_text(GTK_ENTRY(filter_entry_)); |
| 237 gtk_widget_set_sensitive(filter_clear_button_, filter_text && *filter_text); | 237 gtk_widget_set_sensitive(filter_clear_button_, filter_text && *filter_text); |
| 238 | 238 |
| 239 if (selected) { | 239 if (selected) { |
| 240 CookieTreeNode::DetailedInfo detailed_info = | 240 CookieTreeNode::DetailedInfo detailed_info = |
| 241 static_cast<CookieTreeNode*>( | 241 static_cast<CookieTreeNode*>( |
| 242 cookies_tree_adapter_->GetNode(&iter))->GetDetailedInfo(); | 242 cookies_tree_adapter_->GetNode(&iter))->GetDetailedInfo(); |
| 243 if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) { | 243 if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) { |
| 244 gtk_chrome_cookie_view_display_cookie(cookie_display_, | 244 gtk_chrome_cookie_view_display_cookie( |
| 245 detailed_info.cookie->first, | 245 GTK_CHROME_COOKIE_VIEW(cookie_display_), |
| 246 detailed_info.cookie->second); | 246 detailed_info.cookie->first, |
| 247 detailed_info.cookie->second); |
| 247 } else if (detailed_info.node_type == | 248 } else if (detailed_info.node_type == |
| 248 CookieTreeNode::DetailedInfo::TYPE_DATABASE) { | 249 CookieTreeNode::DetailedInfo::TYPE_DATABASE) { |
| 249 gtk_chrome_cookie_view_display_database(cookie_display_, | 250 gtk_chrome_cookie_view_display_database( |
| 250 *detailed_info.database_info); | 251 GTK_CHROME_COOKIE_VIEW(cookie_display_), |
| 252 *detailed_info.database_info); |
| 251 } else if (detailed_info.node_type == | 253 } else if (detailed_info.node_type == |
| 252 CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { | 254 CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { |
| 253 gtk_chrome_cookie_view_display_local_storage( | 255 gtk_chrome_cookie_view_display_local_storage( |
| 254 cookie_display_, | 256 GTK_CHROME_COOKIE_VIEW(cookie_display_), |
| 255 *detailed_info.local_storage_info); | 257 *detailed_info.local_storage_info); |
| 256 } else if (detailed_info.node_type == | 258 } else if (detailed_info.node_type == |
| 257 CookieTreeNode::DetailedInfo::TYPE_APPCACHE) { | 259 CookieTreeNode::DetailedInfo::TYPE_APPCACHE) { |
| 258 gtk_chrome_cookie_view_display_app_cache(cookie_display_, | 260 gtk_chrome_cookie_view_display_app_cache( |
| 259 *detailed_info.appcache_info); | 261 GTK_CHROME_COOKIE_VIEW(cookie_display_), |
| 262 *detailed_info.appcache_info); |
| 260 } else { | 263 } else { |
| 261 gtk_chrome_cookie_view_clear(cookie_display_); | 264 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_)); |
| 262 } | 265 } |
| 263 } else { | 266 } else { |
| 264 gtk_chrome_cookie_view_clear(cookie_display_); | 267 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_)); |
| 265 } | 268 } |
| 266 } | 269 } |
| 267 | 270 |
| 268 void CookiesView::RemoveSelectedItems() { | 271 void CookiesView::RemoveSelectedItems() { |
| 269 GtkTreeIter iter; | 272 GtkTreeIter iter; |
| 270 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); | 273 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); |
| 271 if (selected) { | 274 if (selected) { |
| 272 GtkTreePath* path = gtk_tree_model_get_path( | 275 GtkTreePath* path = gtk_tree_model_get_path( |
| 273 GTK_TREE_MODEL(cookies_tree_adapter_->tree_store()), | 276 GTK_TREE_MODEL(cookies_tree_adapter_->tree_store()), |
| 274 &iter); | 277 &iter); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 filter_update_factory_.NewRunnableMethod( | 367 filter_update_factory_.NewRunnableMethod( |
| 365 &CookiesView::UpdateFilterResults), kSearchFilterDelayMs); | 368 &CookiesView::UpdateFilterResults), kSearchFilterDelayMs); |
| 366 EnableControls(); | 369 EnableControls(); |
| 367 } | 370 } |
| 368 | 371 |
| 369 void CookiesView::OnFilterClearButtonClicked(GtkWidget* button) { | 372 void CookiesView::OnFilterClearButtonClicked(GtkWidget* button) { |
| 370 gtk_entry_set_text(GTK_ENTRY(filter_entry_), ""); | 373 gtk_entry_set_text(GTK_ENTRY(filter_entry_), ""); |
| 371 filter_update_factory_.RevokeAll(); | 374 filter_update_factory_.RevokeAll(); |
| 372 UpdateFilterResults(); | 375 UpdateFilterResults(); |
| 373 } | 376 } |
| OLD | NEW |