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

Side by Side Diff: chrome/browser/bookmarks/bookmark_utils.cc

Issue 1745024: Make a new yes/no messagebox wrapper function, use it in the bookmark alert.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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) 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/bookmarks/bookmark_utils.h" 5 #include "chrome/browser/bookmarks/bookmark_utils.h"
6 6
7 #include "app/clipboard/clipboard.h" 7 #include "app/clipboard/clipboard.h"
8 #include "app/drag_drop_types.h" 8 #include "app/drag_drop_types.h"
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/tree_node_iterator.h" 10 #include "app/tree_node_iterator.h"
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/file_path.h" 12 #include "base/file_path.h"
13 #include "base/string_util.h" 13 #include "base/string_util.h"
14 #include "base/string16.h" 14 #include "base/string16.h"
15 #include "base/time.h" 15 #include "base/time.h"
16 #include "chrome/browser/bookmarks/bookmark_drag_data.h" 16 #include "chrome/browser/bookmarks/bookmark_drag_data.h"
17 #include "chrome/browser/bookmarks/bookmark_model.h" 17 #include "chrome/browser/bookmarks/bookmark_model.h"
18 #if defined(OS_MACOSX) 18 #if defined(OS_MACOSX)
19 #include "chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.h" 19 #include "chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.h"
20 #endif 20 #endif
21 #include "chrome/browser/browser.h" 21 #include "chrome/browser/browser.h"
22 #include "chrome/browser/browser_list.h" 22 #include "chrome/browser/browser_list.h"
23 #include "chrome/browser/browser_process.h" 23 #include "chrome/browser/browser_process.h"
24 #include "chrome/browser/browser_window.h" 24 #include "chrome/browser/browser_window.h"
25 #include "chrome/browser/history/query_parser.h" 25 #include "chrome/browser/history/query_parser.h"
26 #include "chrome/browser/platform_util.h"
26 #include "chrome/browser/pref_service.h" 27 #include "chrome/browser/pref_service.h"
27 #include "chrome/browser/profile.h" 28 #include "chrome/browser/profile.h"
28 #include "chrome/browser/tab_contents/page_navigator.h" 29 #include "chrome/browser/tab_contents/page_navigator.h"
29 #include "chrome/browser/tab_contents/tab_contents.h" 30 #include "chrome/browser/tab_contents/tab_contents.h"
30 #include "chrome/common/notification_service.h" 31 #include "chrome/common/notification_service.h"
31 #include "chrome/common/pref_names.h" 32 #include "chrome/common/pref_names.h"
32 #include "grit/app_strings.h" 33 #include "grit/app_strings.h"
33 #include "grit/chromium_strings.h" 34 #include "grit/chromium_strings.h"
34 #include "grit/generated_resources.h" 35 #include "grit/generated_resources.h"
35 #include "net/base/net_util.h" 36 #include "net/base/net_util.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 } 158 }
158 159
159 bool ShouldOpenAll(gfx::NativeWindow parent, 160 bool ShouldOpenAll(gfx::NativeWindow parent,
160 const std::vector<const BookmarkNode*>& nodes) { 161 const std::vector<const BookmarkNode*>& nodes) {
161 int descendant_count = 0; 162 int descendant_count = 0;
162 for (size_t i = 0; i < nodes.size(); ++i) 163 for (size_t i = 0; i < nodes.size(); ++i)
163 descendant_count += DescendantURLCount(nodes[i]); 164 descendant_count += DescendantURLCount(nodes[i]);
164 if (descendant_count < bookmark_utils::num_urls_before_prompting) 165 if (descendant_count < bookmark_utils::num_urls_before_prompting)
165 return true; 166 return true;
166 167
167 // Bug 40011: we should refactor this into a cross-platform "prompt before 168 string16 message = l10n_util::GetStringFUTF16(
168 // continuing" function.
169 #if defined(OS_WIN)
170 std::wstring message =
171 l10n_util::GetStringF(IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL,
172 IntToWString(descendant_count));
173 return MessageBox(parent, message.c_str(),
174 l10n_util::GetString(IDS_PRODUCT_NAME).c_str(),
175 MB_YESNO | MB_ICONWARNING | MB_TOPMOST) == IDYES;
176 #elif defined(TOOLKIT_GTK)
177 std::string message = l10n_util::GetStringFUTF8(
178 IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL, 169 IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL,
179 IntToString16(descendant_count)); 170 IntToString16(descendant_count));
180 GtkWidget* dialog = gtk_message_dialog_new(parent, 171 string16 title = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME);
181 static_cast<GtkDialogFlags>( 172 return platform_util::SimpleYesNoBox(parent, title, message);
182 GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
183 GTK_MESSAGE_QUESTION,
184 GTK_BUTTONS_YES_NO,
185 "%s", message.c_str());
186 gtk_util::ApplyMessageDialogQuirks(dialog);
187 gtk_window_set_title(GTK_WINDOW(dialog),
188 l10n_util::GetStringUTF8(IDS_PRODUCT_NAME).c_str());
189 gint result = gtk_dialog_run(GTK_DIALOG(dialog));
190 gtk_widget_destroy(dialog);
191 return (result == GTK_RESPONSE_YES);
192 #else
193 // TODO(port): Display a dialog prompt.
194 // http://crbug.com/34481
195 NOTIMPLEMENTED();
196 return true;
197 #endif
198 } 173 }
199 174
200 // Comparison function that compares based on date modified of the two nodes. 175 // Comparison function that compares based on date modified of the two nodes.
201 bool MoreRecentlyModified(const BookmarkNode* n1, const BookmarkNode* n2) { 176 bool MoreRecentlyModified(const BookmarkNode* n1, const BookmarkNode* n2) {
202 return n1->date_group_modified() > n2->date_group_modified(); 177 return n1->date_group_modified() > n2->date_group_modified();
203 } 178 }
204 179
205 // Returns true if |text| contains each string in |words|. This is used when 180 // Returns true if |text| contains each string in |words|. This is used when
206 // searching for bookmarks. 181 // searching for bookmarks.
207 bool DoesBookmarkTextContainWords(const string16& text, 182 bool DoesBookmarkTextContainWords(const string16& text,
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 const std::vector<const BookmarkNode*>& nodes, 326 const std::vector<const BookmarkNode*>& nodes,
352 gfx::NativeView view) { 327 gfx::NativeView view) {
353 DCHECK(!nodes.empty()); 328 DCHECK(!nodes.empty());
354 329
355 #if defined(TOOLKIT_VIEWS) 330 #if defined(TOOLKIT_VIEWS)
356 // Set up our OLE machinery 331 // Set up our OLE machinery
357 OSExchangeData data; 332 OSExchangeData data;
358 BookmarkDragData drag_data(nodes); 333 BookmarkDragData drag_data(nodes);
359 drag_data.Write(profile, &data); 334 drag_data.Write(profile, &data);
360 335
361 views::RootView* root_view = views::Widget::GetWidgetFromNativeView(view)->Get RootView(); 336 views::RootView* root_view =
337 views::Widget::GetWidgetFromNativeView(view)->GetRootView();
362 338
363 // Allow nested message loop so we get DnD events as we drag this around. 339 // Allow nested message loop so we get DnD events as we drag this around.
364 bool was_nested = MessageLoop::current()->IsNested(); 340 bool was_nested = MessageLoop::current()->IsNested();
365 MessageLoop::current()->SetNestableTasksAllowed(true); 341 MessageLoop::current()->SetNestableTasksAllowed(true);
366 342
367 root_view->StartDragForViewFromMouseEvent(NULL, data, 343 root_view->StartDragForViewFromMouseEvent(NULL, data,
368 DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_MOVE | 344 DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_MOVE |
369 DragDropTypes::DRAG_LINK); 345 DragDropTypes::DRAG_LINK);
370 346
371 MessageLoop::current()->SetNestableTasksAllowed(was_nested); 347 MessageLoop::current()->SetNestableTasksAllowed(was_nested);
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 } 652 }
677 } else { 653 } else {
678 *index = real_parent->GetChildCount(); 654 *index = real_parent->GetChildCount();
679 } 655 }
680 } 656 }
681 657
682 return real_parent; 658 return real_parent;
683 } 659 }
684 660
685 } // namespace bookmark_utils 661 } // namespace bookmark_utils
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/hang_monitor/hung_plugin_action.cc » ('j') | chrome/browser/platform_util_common_linux.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698