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/views/bookmark_manager_view.h" | 5 #include "chrome/browser/views/bookmark_manager_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "app/gfx/canvas.h" | 9 #include "app/gfx/canvas.h" |
10 #include "app/gfx/color_utils.h" | 10 #include "app/gfx/color_utils.h" |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 layout->AddView(tools_menu_button); | 199 layout->AddView(tools_menu_button); |
200 layout->AddView(new views::Label( | 200 layout->AddView(new views::Label( |
201 l10n_util::GetString(IDS_BOOKMARK_MANAGER_SEARCH_TITLE))); | 201 l10n_util::GetString(IDS_BOOKMARK_MANAGER_SEARCH_TITLE))); |
202 layout->AddView(search_tf_); | 202 layout->AddView(search_tf_); |
203 | 203 |
204 layout->AddPaddingRow(0, 3); // 3px padding between rows. | 204 layout->AddPaddingRow(0, 3); // 3px padding between rows. |
205 | 205 |
206 layout->StartRow(1, split_cs_id); | 206 layout->StartRow(1, split_cs_id); |
207 layout->AddView(split_view_); | 207 layout->AddView(split_view_); |
208 | 208 |
| 209 // Press Ctrl-W to close bookmark manager window. |
| 210 AddAccelerator(views::Accelerator('W', false, true, false)); |
| 211 |
209 BookmarkModel* bookmark_model = profile_->GetBookmarkModel(); | 212 BookmarkModel* bookmark_model = profile_->GetBookmarkModel(); |
210 if (!bookmark_model->IsLoaded()) | 213 if (!bookmark_model->IsLoaded()) |
211 bookmark_model->AddObserver(this); | 214 bookmark_model->AddObserver(this); |
212 } | 215 } |
213 | 216 |
214 BookmarkManagerView::~BookmarkManagerView() { | 217 BookmarkManagerView::~BookmarkManagerView() { |
215 if (select_file_dialog_.get()) | 218 if (select_file_dialog_.get()) |
216 select_file_dialog_->ListenerDestroyed(); | 219 select_file_dialog_->ListenerDestroyed(); |
217 | 220 |
218 if (!GetBookmarkModel()->IsLoaded()) { | 221 if (!GetBookmarkModel()->IsLoaded()) { |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 | 336 |
334 std::wstring BookmarkManagerView::GetWindowName() const { | 337 std::wstring BookmarkManagerView::GetWindowName() const { |
335 return prefs::kBookmarkManagerPlacement; | 338 return prefs::kBookmarkManagerPlacement; |
336 } | 339 } |
337 | 340 |
338 void BookmarkManagerView::WindowClosing() { | 341 void BookmarkManagerView::WindowClosing() { |
339 g_browser_process->local_state()->SetInteger( | 342 g_browser_process->local_state()->SetInteger( |
340 prefs::kBookmarkManagerSplitLocation, split_view_->divider_x()); | 343 prefs::kBookmarkManagerSplitLocation, split_view_->divider_x()); |
341 } | 344 } |
342 | 345 |
| 346 bool BookmarkManagerView::AcceleratorPressed( |
| 347 const views::Accelerator& accelerator) { |
| 348 // Ctrl-W to close bookmark manager. |
| 349 DCHECK(accelerator.GetKeyCode() == 'W' && accelerator.IsCtrlDown()); |
| 350 window()->Close(); |
| 351 return true; |
| 352 } |
| 353 |
343 void BookmarkManagerView::OnDoubleClick() { | 354 void BookmarkManagerView::OnDoubleClick() { |
344 std::vector<BookmarkNode*> nodes = GetSelectedTableNodes(); | 355 std::vector<BookmarkNode*> nodes = GetSelectedTableNodes(); |
345 if (nodes.empty()) | 356 if (nodes.empty()) |
346 return; | 357 return; |
347 if (nodes.size() == 1 && nodes[0]->is_folder()) { | 358 if (nodes.size() == 1 && nodes[0]->is_folder()) { |
348 // Double click on a folder descends into the folder. | 359 // Double click on a folder descends into the folder. |
349 SelectInTree(nodes[0]); | 360 SelectInTree(nodes[0]); |
350 return; | 361 return; |
351 } | 362 } |
352 // TODO(sky): OnDoubleClick needs a handle to the current mouse event so that | 363 // TODO(sky): OnDoubleClick needs a handle to the current mouse event so that |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 file_type_info.extensions.resize(1); | 768 file_type_info.extensions.resize(1); |
758 file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("html")); | 769 file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("html")); |
759 file_type_info.include_all_files = true; | 770 file_type_info.include_all_files = true; |
760 select_file_dialog_ = SelectFileDialog::Create(this); | 771 select_file_dialog_ = SelectFileDialog::Create(this); |
761 select_file_dialog_->SelectFile( | 772 select_file_dialog_->SelectFile( |
762 SelectFileDialog::SELECT_SAVEAS_FILE, std::wstring(), | 773 SelectFileDialog::SELECT_SAVEAS_FILE, std::wstring(), |
763 FilePath(FILE_PATH_LITERAL("bookmarks.html")), &file_type_info, 0, | 774 FilePath(FILE_PATH_LITERAL("bookmarks.html")), &file_type_info, 0, |
764 L"html", GetWidget()->GetNativeView(), | 775 L"html", GetWidget()->GetNativeView(), |
765 reinterpret_cast<void*>(IDS_BOOKMARK_MANAGER_EXPORT_MENU)); | 776 reinterpret_cast<void*>(IDS_BOOKMARK_MANAGER_EXPORT_MENU)); |
766 } | 777 } |
OLD | NEW |