| 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/bookmark_manager_gtk.h" | 5 #include "chrome/browser/gtk/bookmark_manager_gtk.h" |
| 6 | 6 |
| 7 #include <gdk/gdkkeysyms.h> | 7 #include <gdk/gdkkeysyms.h> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 BookmarkManagerGtk::BookmarkManagerGtk(Profile* profile) | 314 BookmarkManagerGtk::BookmarkManagerGtk(Profile* profile) |
| 315 : profile_(profile), | 315 : profile_(profile), |
| 316 model_(profile->GetBookmarkModel()), | 316 model_(profile->GetBookmarkModel()), |
| 317 organize_is_for_left_(true), | 317 organize_is_for_left_(true), |
| 318 search_factory_(this), | 318 search_factory_(this), |
| 319 select_file_dialog_(SelectFileDialog::Create(this)), | 319 select_file_dialog_(SelectFileDialog::Create(this)), |
| 320 delaying_mousedown_(false), | 320 delaying_mousedown_(false), |
| 321 sending_delayed_mousedown_(false), | 321 sending_delayed_mousedown_(false), |
| 322 ignore_rightclicks_(false) { | 322 ignore_rightclicks_(false) { |
| 323 InitWidgets(); | 323 InitWidgets(); |
| 324 ConnectAccelerators(); |
| 324 gtk_util::SetWindowIcon(GTK_WINDOW(window_)); | 325 gtk_util::SetWindowIcon(GTK_WINDOW(window_)); |
| 325 | 326 |
| 326 model_->AddObserver(this); | 327 model_->AddObserver(this); |
| 327 if (model_->IsLoaded()) | 328 if (model_->IsLoaded()) |
| 328 Loaded(model_); | 329 Loaded(model_); |
| 329 | 330 |
| 330 gtk_widget_show_all(window_); | 331 gtk_widget_show_all(window_); |
| 331 } | 332 } |
| 332 | 333 |
| 333 BookmarkManagerGtk::~BookmarkManagerGtk() { | 334 BookmarkManagerGtk::~BookmarkManagerGtk() { |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 gtk_paned_set_position(GTK_PANED(paned_), split_x); | 425 gtk_paned_set_position(GTK_PANED(paned_), split_x); |
| 425 | 426 |
| 426 GtkWidget* vbox = gtk_vbox_new(FALSE, 0); | 427 GtkWidget* vbox = gtk_vbox_new(FALSE, 0); |
| 427 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 428 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 428 gtk_box_pack_start(GTK_BOX(vbox), paned_, TRUE, TRUE, 0); | 429 gtk_box_pack_start(GTK_BOX(vbox), paned_, TRUE, TRUE, 0); |
| 429 gtk_container_add(GTK_CONTAINER(window_), vbox); | 430 gtk_container_add(GTK_CONTAINER(window_), vbox); |
| 430 | 431 |
| 431 ResetOrganizeMenu(true); | 432 ResetOrganizeMenu(true); |
| 432 } | 433 } |
| 433 | 434 |
| 435 void BookmarkManagerGtk::ConnectAccelerators() { |
| 436 GtkAccelGroup* accel_group = gtk_accel_group_new(); |
| 437 gtk_window_add_accel_group(GTK_WINDOW(window_), accel_group); |
| 438 |
| 439 // Drop the initial ref on |accel_group| so |window_| will own it. |
| 440 g_object_unref(accel_group); |
| 441 |
| 442 gtk_accel_group_connect(accel_group, |
| 443 GDK_w, GDK_CONTROL_MASK, GtkAccelFlags(0), |
| 444 g_cclosure_new(G_CALLBACK(OnGtkAccelerator), |
| 445 this, NULL)); |
| 446 } |
| 447 |
| 434 GtkWidget* BookmarkManagerGtk::MakeLeftPane() { | 448 GtkWidget* BookmarkManagerGtk::MakeLeftPane() { |
| 435 left_store_ = bookmark_utils::MakeFolderTreeStore(); | 449 left_store_ = bookmark_utils::MakeFolderTreeStore(); |
| 436 left_tree_view_ = bookmark_utils::MakeTreeViewForStore(left_store_); | 450 left_tree_view_ = bookmark_utils::MakeTreeViewForStore(left_store_); |
| 437 | 451 |
| 438 // When a row is collapsed that contained the selected node, we want to select | 452 // When a row is collapsed that contained the selected node, we want to select |
| 439 // it. | 453 // it. |
| 440 g_signal_connect(left_tree_view_, "row-collapsed", | 454 g_signal_connect(left_tree_view_, "row-collapsed", |
| 441 G_CALLBACK(OnLeftTreeViewRowCollapsed), this); | 455 G_CALLBACK(OnLeftTreeViewRowCollapsed), this); |
| 442 g_signal_connect(left_tree_view_, "focus-in-event", | 456 g_signal_connect(left_tree_view_, "focus-in-event", |
| 443 G_CALLBACK(OnLeftTreeViewFocusIn), this); | 457 G_CALLBACK(OnLeftTreeViewFocusIn), this); |
| (...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1425 } else if (id == IDS_BOOKMARK_MANAGER_EXPORT_MENU) { | 1439 } else if (id == IDS_BOOKMARK_MANAGER_EXPORT_MENU) { |
| 1426 if (g_browser_process->io_thread()) { | 1440 if (g_browser_process->io_thread()) { |
| 1427 bookmark_html_writer::WriteBookmarks( | 1441 bookmark_html_writer::WriteBookmarks( |
| 1428 g_browser_process->io_thread()->message_loop(), model_, | 1442 g_browser_process->io_thread()->message_loop(), model_, |
| 1429 path.ToWStringHack()); | 1443 path.ToWStringHack()); |
| 1430 } | 1444 } |
| 1431 } else { | 1445 } else { |
| 1432 NOTREACHED(); | 1446 NOTREACHED(); |
| 1433 } | 1447 } |
| 1434 } | 1448 } |
| 1449 |
| 1450 // static |
| 1451 gboolean BookmarkManagerGtk::OnGtkAccelerator(GtkAccelGroup* accel_group, |
| 1452 GObject* acceleratable, |
| 1453 guint keyval, |
| 1454 GdkModifierType modifier, |
| 1455 BookmarkManagerGtk* bookmark_manager) { |
| 1456 modifier = static_cast<GdkModifierType>( |
| 1457 modifier & gtk_accelerator_get_default_mod_mask()); |
| 1458 // The only accelerator we have registered is ctrl+w, so any other value is a |
| 1459 // non-fatal error. |
| 1460 DCHECK_EQ(keyval, static_cast<guint>(GDK_w)); |
| 1461 DCHECK_EQ(modifier, GDK_CONTROL_MASK); |
| 1462 |
| 1463 gtk_widget_destroy(bookmark_manager->window_); |
| 1464 |
| 1465 return TRUE; |
| 1466 } |
| OLD | NEW |