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

Side by Side Diff: chrome/browser/ui/gtk/bookmarks/bookmark_bubble_gtk.cc

Issue 7572022: Use bookmark manager to add/edit bookmark pages with webui_dialogs=1. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Windows build compatibility. Created 9 years, 4 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/bookmarks/bookmark_bubble_gtk.h" 5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_bubble_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "base/string16.h" 13 #include "base/string16.h"
14 #include "base/utf_string_conversions.h" 14 #include "base/utf_string_conversions.h"
15 #include "chrome/browser/bookmarks/bookmark_editor.h" 15 #include "chrome/browser/bookmarks/bookmark_editor.h"
16 #include "chrome/browser/bookmarks/bookmark_model.h" 16 #include "chrome/browser/bookmarks/bookmark_model.h"
17 #include "chrome/browser/bookmarks/bookmark_utils.h" 17 #include "chrome/browser/bookmarks/bookmark_utils.h"
18 #include "chrome/browser/bookmarks/recently_used_folders_combo_model.h" 18 #include "chrome/browser/bookmarks/recently_used_folders_combo_model.h"
19 #include "chrome/browser/profiles/profile.h" 19 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/ui/browser.h"
21 #include "chrome/browser/ui/browser_list.h"
20 #include "chrome/browser/ui/gtk/gtk_theme_service.h" 22 #include "chrome/browser/ui/gtk/gtk_theme_service.h"
21 #include "chrome/browser/ui/gtk/gtk_util.h" 23 #include "chrome/browser/ui/gtk/gtk_util.h"
22 #include "chrome/common/chrome_notification_types.h" 24 #include "chrome/common/chrome_notification_types.h"
23 #include "content/browser/user_metrics.h" 25 #include "content/browser/user_metrics.h"
24 #include "content/common/notification_service.h" 26 #include "content/common/notification_service.h"
25 #include "grit/generated_resources.h" 27 #include "grit/generated_resources.h"
26 #include "ui/base/l10n/l10n_util.h" 28 #include "ui/base/l10n/l10n_util.h"
27 29
28 namespace { 30 namespace {
29 31
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 return UTF16ToUTF8(node->GetTitle()); 301 return UTF16ToUTF8(node->GetTitle());
300 } 302 }
301 303
302 void BookmarkBubbleGtk::ShowEditor() { 304 void BookmarkBubbleGtk::ShowEditor() {
303 const BookmarkNode* node = 305 const BookmarkNode* node =
304 profile_->GetBookmarkModel()->GetMostRecentlyAddedNodeForURL(url_); 306 profile_->GetBookmarkModel()->GetMostRecentlyAddedNodeForURL(url_);
305 307
306 // Commit any edits now. 308 // Commit any edits now.
307 ApplyEdits(); 309 ApplyEdits();
308 310
311 #if !defined(WEBUI_DIALOGS)
309 // Closing might delete us, so we'll cache what we need on the stack. 312 // Closing might delete us, so we'll cache what we need on the stack.
310 Profile* profile = profile_; 313 Profile* profile = profile_;
311 GtkWindow* toplevel = GTK_WINDOW(gtk_widget_get_toplevel(anchor_)); 314 GtkWindow* toplevel = GTK_WINDOW(gtk_widget_get_toplevel(anchor_));
315 #endif
312 316
313 // Close the bubble, deleting the C++ objects, etc. 317 // Close the bubble, deleting the C++ objects, etc.
314 bubble_->Close(); 318 bubble_->Close();
315 319
316 if (node) { 320 if (node) {
321 #if defined(WEBUI_DIALOGS)
322 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_);
323 DCHECK(browser);
324 browser->OpenBookmarkManagerEditNode(node->id());
325 #else
317 BookmarkEditor::Show(toplevel, profile, NULL, 326 BookmarkEditor::Show(toplevel, profile, NULL,
318 BookmarkEditor::EditDetails(node), 327 BookmarkEditor::EditDetails(node),
319 BookmarkEditor::SHOW_TREE); 328 BookmarkEditor::SHOW_TREE);
329 #endif
320 } 330 }
321 } 331 }
322 332
323 void BookmarkBubbleGtk::InitFolderComboModel() { 333 void BookmarkBubbleGtk::InitFolderComboModel() {
324 const BookmarkNode* node = 334 const BookmarkNode* node =
325 profile_->GetBookmarkModel()->GetMostRecentlyAddedNodeForURL(url_); 335 profile_->GetBookmarkModel()->GetMostRecentlyAddedNodeForURL(url_);
326 DCHECK(node); 336 DCHECK(node);
327 337
328 folder_combo_model_.reset(new RecentlyUsedFoldersComboModel( 338 folder_combo_model_.reset(new RecentlyUsedFoldersComboModel(
329 profile_->GetBookmarkModel(), node)); 339 profile_->GetBookmarkModel(), node));
330 340
331 // We always have nodes + 1 entries in the combo. The last entry will be 341 // We always have nodes + 1 entries in the combo. The last entry will be
332 // the 'Select another folder...' entry that opens the bookmark editor. 342 // the 'Select another folder...' entry that opens the bookmark editor.
333 for (int i = 0; i < folder_combo_model_->GetItemCount(); ++i) { 343 for (int i = 0; i < folder_combo_model_->GetItemCount(); ++i) {
334 gtk_combo_box_append_text(GTK_COMBO_BOX(folder_combo_), 344 gtk_combo_box_append_text(GTK_COMBO_BOX(folder_combo_),
335 UTF16ToUTF8(folder_combo_model_->GetItemAt(i)).c_str()); 345 UTF16ToUTF8(folder_combo_model_->GetItemAt(i)).c_str());
336 } 346 }
337 347
338 gtk_combo_box_set_active(GTK_COMBO_BOX(folder_combo_), 348 gtk_combo_box_set_active(GTK_COMBO_BOX(folder_combo_),
339 folder_combo_model_->node_parent_index()); 349 folder_combo_model_->node_parent_index());
340 } 350 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_controller.mm ('k') | chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698