diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-17 00:17:56 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-17 00:17:56 +0000 |
commit | cd6966178e34f1b71bdb36bb6f1b4cc39e103297 (patch) | |
tree | 44fb525549c7bee0fb145fccd4179d88a9d22785 /chrome/browser/gtk/bookmark_utils_gtk.cc | |
parent | 0195ac6a92a2348df849d367e4ec229af3f168e5 (diff) | |
download | chromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.zip chromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.tar.gz chromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.tar.bz2 |
Allow dragging a link from the web contents to the bookmark bar to get a named bookmark.
Also, change the naming scheme of the DnD targets.
BUG=16791
TEST=select a link in the web page and drag it to the bookmark bar.
Review URL: http://codereview.chromium.org/155661
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20921 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_utils_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/bookmark_utils_gtk.cc | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/chrome/browser/gtk/bookmark_utils_gtk.cc b/chrome/browser/gtk/bookmark_utils_gtk.cc index b83553f..fa2a56e 100644 --- a/chrome/browser/gtk/bookmark_utils_gtk.cc +++ b/chrome/browser/gtk/bookmark_utils_gtk.cc @@ -192,7 +192,7 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes, guint target_type, Profile* profile) { switch (target_type) { - case GtkDndUtil::X_CHROME_BOOKMARK_ITEM: { + case GtkDndUtil::CHROME_BOOKMARK_ITEM: { BookmarkDragData data(nodes); Pickle pickle; data.WriteToPickle(profile, &pickle); @@ -203,7 +203,7 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes, pickle.size()); break; } - case GtkDndUtil::X_CHROME_TEXT_URI_LIST: { + case GtkDndUtil::TEXT_URI_LIST: { gchar** uris = reinterpret_cast<gchar**>(malloc(sizeof(gchar*) * (nodes.size() + 1))); for (size_t i = 0; i < nodes.size(); ++i) { @@ -243,7 +243,7 @@ std::vector<const BookmarkNode*> GetNodesFromSelection( } switch (target_type) { - case GtkDndUtil::X_CHROME_BOOKMARK_ITEM: { + case GtkDndUtil::CHROME_BOOKMARK_ITEM: { *dnd_success = TRUE; Pickle pickle(reinterpret_cast<char*>(selection_data->data), selection_data->length); @@ -260,4 +260,17 @@ std::vector<const BookmarkNode*> GetNodesFromSelection( return std::vector<const BookmarkNode*>(); } +bool CreateNewBookmarkFromNamedUrl(GtkSelectionData* selection_data, + BookmarkModel* model, const BookmarkNode* parent, int idx) { + Pickle data(reinterpret_cast<char*>(selection_data->data), + selection_data->length); + void* iter = NULL; + std::string title_utf8, url_utf8; + bool rv = data.ReadString(&iter, &title_utf8); + rv = rv && data.ReadString(&iter, &url_utf8); + if (rv) + model->AddURL(parent, idx, UTF8ToWide(title_utf8), GURL(url_utf8)); + return rv; +} + } // namespace bookmark_utils |