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

Side by Side Diff: chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc

Issue 7310023: Pre-fill the 'Add Page' bookmark window with the current page (gtk and windows). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 5 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
« no previous file with comments | « chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/views/bookmarks/bookmark_editor_view.h" 5 #include "chrome/browser/ui/views/bookmarks/bookmark_editor_view.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 260
261 void BookmarkEditorView::Init() { 261 void BookmarkEditorView::Init() {
262 bb_model_ = profile_->GetBookmarkModel(); 262 bb_model_ = profile_->GetBookmarkModel();
263 DCHECK(bb_model_); 263 DCHECK(bb_model_);
264 bb_model_->AddObserver(this); 264 bb_model_->AddObserver(this);
265 265
266 url_tf_.set_parent_owned(false); 266 url_tf_.set_parent_owned(false);
267 title_tf_.set_parent_owned(false); 267 title_tf_.set_parent_owned(false);
268 268
269 std::wstring title; 269 std::wstring title;
270 if (details_.type == EditDetails::EXISTING_NODE) 270 GURL url;
271 if (details_.type == EditDetails::EXISTING_NODE) {
271 title = details_.existing_node->GetTitle(); 272 title = details_.existing_node->GetTitle();
272 else if (details_.type == EditDetails::NEW_FOLDER) 273 url = details_.existing_node->GetURL();
274 } else if (details_.type == EditDetails::NEW_FOLDER) {
273 title = UTF16ToWide( 275 title = UTF16ToWide(
274 l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME)); 276 l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME));
277 } else if (details_.type == EditDetails::NEW_URL) {
278 string16 title16;
279 bookmark_utils::GetURLAndTitleToBookmarkFromCurrentTab(profile_,
280 &url, &title16);
281 title = UTF16ToWide(title16);
282 }
275 title_tf_.SetText(title); 283 title_tf_.SetText(title);
276 title_tf_.SetController(this); 284 title_tf_.SetController(this);
277 285
278 title_label_ = new views::Label( 286 title_label_ = new views::Label(
279 UTF16ToWide(l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_NAME_LABEL))); 287 UTF16ToWide(l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_NAME_LABEL)));
280 title_tf_.SetAccessibleName(WideToUTF16Hack(title_label_->GetText())); 288 title_tf_.SetAccessibleName(WideToUTF16Hack(title_label_->GetText()));
281 289
282 string16 url_text; 290 string16 url_text;
283 if (details_.type == EditDetails::EXISTING_NODE) { 291 if (details_.type != EditDetails::NEW_FOLDER) {
284 std::string languages = profile_ 292 std::string languages = profile_
285 ? profile_->GetPrefs()->GetString(prefs::kAcceptLanguages) 293 ? profile_->GetPrefs()->GetString(prefs::kAcceptLanguages)
286 : std::string(); 294 : std::string();
287 // Because this gets parsed by FixupURL(), it's safe to omit the scheme or 295 // Because this gets parsed by FixupURL(), it's safe to omit the scheme or
288 // trailing slash, and unescape most characters, but we need to not drop any 296 // trailing slash, and unescape most characters, but we need to not drop any
289 // username/password, or unescape anything that changes the meaning. 297 // username/password, or unescape anything that changes the meaning.
290 url_text = net::FormatUrl(details_.existing_node->GetURL(), languages, 298 url_text = net::FormatUrl(url, languages,
291 net::kFormatUrlOmitAll & ~net::kFormatUrlOmitUsernamePassword, 299 net::kFormatUrlOmitAll & ~net::kFormatUrlOmitUsernamePassword,
292 UnescapeRule::SPACES, NULL, NULL, NULL); 300 UnescapeRule::SPACES, NULL, NULL, NULL);
293 } 301 }
294 url_tf_.SetText(UTF16ToWide(url_text)); 302 url_tf_.SetText(UTF16ToWide(url_text));
295 url_tf_.SetController(this); 303 url_tf_.SetController(this);
296 304
297 url_label_ = new views::Label( 305 url_label_ = new views::Label(
298 UTF16ToWide(l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_URL_LABEL))); 306 UTF16ToWide(l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_URL_LABEL)));
299 url_tf_.SetAccessibleName(WideToUTF16Hack(url_label_->GetText())); 307 url_tf_.SetAccessibleName(WideToUTF16Hack(url_label_->GetText()));
300 308
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 break; 586 break;
579 } 587 }
580 } 588 }
581 DCHECK(child_bb_node); 589 DCHECK(child_bb_node);
582 bb_model_->SetTitle(child_bb_node, child_b_node->GetTitle()); 590 bb_model_->SetTitle(child_bb_node, child_b_node->GetTitle());
583 } 591 }
584 ApplyNameChangesAndCreateNewFolders(child_bb_node, child_b_node, 592 ApplyNameChangesAndCreateNewFolders(child_bb_node, child_b_node,
585 parent_b_node, parent_bb_node); 593 parent_b_node, parent_bb_node);
586 } 594 }
587 } 595 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698