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

Side by Side Diff: chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h

Issue 231733005: Delete the GTK+ port of Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remerge to ToT Created 6 years, 8 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
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_GTK_BOOKMARKS_BOOKMARK_UTILS_GTK_H_
6 #define CHROME_BROWSER_UI_GTK_BOOKMARKS_BOOKMARK_UTILS_GTK_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/strings/string16.h"
12 #include "ui/base/glib/glib_integers.h"
13
14 class BookmarkModel;
15 class BookmarkNode;
16 class GtkThemeService;
17 class GURL;
18 class Profile;
19
20 typedef struct _GdkDragContext GdkDragContext;
21 typedef struct _GdkPixbuf GdkPixbuf;
22 typedef struct _GtkSelectionData GtkSelectionData;
23 typedef struct _GtkWidget GtkWidget;
24
25 extern const char kBookmarkNode[];
26
27 // Get the image that is used to represent the node. This function adds a ref
28 // to the returned pixbuf, so it requires a matching call to g_object_unref().
29 GdkPixbuf* GetPixbufForNode(const BookmarkNode* node,
30 BookmarkModel* model,
31 bool native);
32
33 // Returns a GtkWindow with a visual hierarchy for passing to
34 // gtk_drag_set_icon_widget().
35 GtkWidget* GetDragRepresentation(GdkPixbuf* pixbuf,
36 const base::string16& title,
37 GtkThemeService* provider);
38 GtkWidget* GetDragRepresentationForNode(const BookmarkNode* node,
39 BookmarkModel* model,
40 GtkThemeService* provider);
41
42 // Helper function that sets visual properties of GtkButton |button| to the
43 // contents of |node|.
44 void ConfigureButtonForNode(const BookmarkNode* node,
45 BookmarkModel* model,
46 GtkWidget* button,
47 GtkThemeService* provider);
48
49 // Helper function to set the visual properties for the apps page shortcut
50 // |button|.
51 void ConfigureAppsShortcutButton(GtkWidget* button, GtkThemeService* provider);
52
53 // Returns the tooltip.
54 std::string BuildTooltipFor(const BookmarkNode* node);
55
56 // Returns the label that should be in pull down menus.
57 std::string BuildMenuLabelFor(const BookmarkNode* node);
58
59 // Returns the "bookmark-node" property of |widget| casted to the correct type.
60 const BookmarkNode* BookmarkNodeForWidget(GtkWidget* widget);
61
62 // Set the colors on |label| as per the theme.
63 void SetButtonTextColors(GtkWidget* label, GtkThemeService* provider);
64
65 // Drag and drop. --------------------------------------------------------------
66
67 // Get the DnD target mask for a bookmark drag. This will vary based on whether
68 // the node in question is a folder.
69 int GetCodeMask(bool folder);
70
71 // Pickle a node into a GtkSelection.
72 void WriteBookmarkToSelection(const BookmarkNode* node,
73 GtkSelectionData* selection_data,
74 guint target_type,
75 Profile* profile);
76
77 // Pickle a vector of nodes into a GtkSelection.
78 void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes,
79 GtkSelectionData* selection_data,
80 guint target_type,
81 Profile* profile);
82
83 // Un-pickle node(s) from a GtkSelection.
84 // The last two arguments are out parameters.
85 std::vector<const BookmarkNode*> GetNodesFromSelection(
86 GdkDragContext* context,
87 GtkSelectionData* selection_data,
88 guint target_type,
89 Profile* profile,
90 gboolean* delete_selection_data,
91 gboolean* dnd_success);
92
93 // Unpickle a new bookmark of the CHROME_NAMED_URL drag type, and put it in
94 // the appropriate location in the model.
95 bool CreateNewBookmarkFromNamedUrl(GtkSelectionData* selection_data,
96 BookmarkModel* model,
97 const BookmarkNode* parent,
98 int idx);
99
100 // Add the URIs in |selection_data| into the model at the given position. They
101 // will be added whether or not the URL is valid.
102 bool CreateNewBookmarksFromURIList(GtkSelectionData* selection_data,
103 BookmarkModel* model,
104 const BookmarkNode* parent,
105 int idx);
106
107 // Add the "url\ntitle" combination into the model at the given position.
108 bool CreateNewBookmarkFromNetscapeURL(GtkSelectionData* selection_data,
109 BookmarkModel* model,
110 const BookmarkNode* parent,
111 int idx);
112
113 // Returns a name for the given URL. Used for drags into bookmark areas when
114 // the source doesn't specify a title.
115 base::string16 GetNameForURL(const GURL& url);
116
117 #endif // CHROME_BROWSER_UI_GTK_BOOKMARKS_BOOKMARK_UTILS_GTK_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698