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

Unified Diff: chrome/browser/gtk/bookmark_tree_model.cc

Issue 118150: Linux bookmark manager first cut. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: 1 more file Created 11 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/bookmark_tree_model.h ('k') | chrome/browser/views/bookmark_manager_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/bookmark_tree_model.cc
===================================================================
--- chrome/browser/gtk/bookmark_tree_model.cc (revision 17462)
+++ chrome/browser/gtk/bookmark_tree_model.cc (working copy)
@@ -6,8 +6,12 @@
#include <gtk/gtk.h>
+#include "app/resource_bundle.h"
#include "base/string_util.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "grit/app_resources.h"
+#include "grit/generated_resources.h"
+#include "grit/theme_resources.h"
namespace {
@@ -22,9 +26,13 @@
BookmarkNode* child = node->GetChild(i);
if (child->is_folder()) {
gtk_tree_store_append(store, &iter, parent);
+ // TODO(estade): we should show the folder open when it's expanded.
gtk_tree_store_set(store, &iter,
- 0, WideToUTF8(child->GetTitle()).c_str(),
- 1, child->id(),
+ bookmark_utils::FOLDER_ICON,
+ bookmark_utils::GetFolderIcon(),
+ bookmark_utils::FOLDER_NAME,
+ WideToUTF8(child->GetTitle()).c_str(),
+ bookmark_utils::ITEM_ID, child->id(),
-1);
if (selected_id && child->id() == selected_id) {
// Save the iterator. Since we're using a GtkTreeStore, we're
@@ -84,12 +92,16 @@
namespace bookmark_utils {
-void BuildTreeStoreFrom(BookmarkModel* model, int selected_id,
- GtkTreeStore** store, GtkTreeIter* selected_iter) {
- *store = gtk_tree_store_new(2, G_TYPE_STRING, G_TYPE_INT);
- RecursiveInsert(model->root_node(), selected_id, *store, selected_iter, NULL);
+GtkTreeStore* MakeFolderTreeStore() {
+ return gtk_tree_store_new(FOLDER_STORE_NUM_COLUMNS, GDK_TYPE_PIXBUF,
+ G_TYPE_STRING, G_TYPE_INT);
}
+void AddToTreeStore(BookmarkModel* model, int selected_id,
+ GtkTreeStore* store, GtkTreeIter* selected_iter) {
+ RecursiveInsert(model->root_node(), selected_id, store, selected_iter, NULL);
+}
+
BookmarkNode* CommitTreeStoreDifferencesBetween(
BookmarkModel* bb_model, GtkTreeStore* tree_store, GtkTreeIter* selected) {
BookmarkNode* node_to_return = NULL;
@@ -134,7 +146,7 @@
int GetIdFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter) {
GValue value = { 0, };
int ret_val = -1;
- gtk_tree_model_get_value(model, iter, 1, &value);
+ gtk_tree_model_get_value(model, iter, ITEM_ID, &value);
if (G_VALUE_HOLDS_INT(&value))
ret_val = g_value_get_int(&value);
else
@@ -146,7 +158,7 @@
std::wstring GetTitleFromTreeIter(GtkTreeModel* model, GtkTreeIter* iter) {
GValue value = { 0, };
std::wstring ret_val;
- gtk_tree_model_get_value(model, iter, 0, &value);
+ gtk_tree_model_get_value(model, iter, FOLDER_NAME, &value);
if (G_VALUE_HOLDS_STRING(&value)) {
const gchar* utf8str = g_value_get_string(&value);
ret_val = UTF8ToWide(utf8str);
@@ -158,4 +170,18 @@
return ret_val;
}
+GdkPixbuf* GetFolderIcon() {
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ static GdkPixbuf* default_folder_icon = rb.GetPixbufNamed(
+ IDR_BOOKMARK_BAR_FOLDER);
+ return default_folder_icon;
+}
+
+GdkPixbuf* GetDefaultFavicon() {
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ static GdkPixbuf* default_bookmark_icon = rb.GetPixbufNamed(
+ IDR_DEFAULT_FAVICON);
+ return default_bookmark_icon;
+}
+
} // namespace bookmark_utils
« no previous file with comments | « chrome/browser/gtk/bookmark_tree_model.h ('k') | chrome/browser/views/bookmark_manager_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698