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

Side by Side Diff: chrome/browser/gtk/bookmark_editor_gtk.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, 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
« no previous file with comments | « chrome/browser/gtk/bookmark_bar_gtk.cc ('k') | chrome/browser/gtk/bookmark_manager_gtk.h » ('j') | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/gtk/bookmark_editor_gtk.h" 5 #include "chrome/browser/gtk/bookmark_editor_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 G_CALLBACK(OnEntryChanged), this); 161 G_CALLBACK(OnEntryChanged), this);
162 gtk_entry_set_activates_default(GTK_ENTRY(url_entry_), TRUE); 162 gtk_entry_set_activates_default(GTK_ENTRY(url_entry_), TRUE);
163 gtk_table_attach_defaults(GTK_TABLE(table), GTK_WIDGET(url_entry_), 163 gtk_table_attach_defaults(GTK_TABLE(table), GTK_WIDGET(url_entry_),
164 1, 2, 1, 2); 164 1, 2, 1, 2);
165 165
166 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); 166 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
167 167
168 if (show_tree_) { 168 if (show_tree_) {
169 GtkTreeIter selected_iter; 169 GtkTreeIter selected_iter;
170 int selected_id = node_ ? node_->GetParent()->id() : 0; 170 int selected_id = node_ ? node_->GetParent()->id() : 0;
171 bookmark_utils::BuildTreeStoreFrom(bb_model_, selected_id, &tree_store_, 171 tree_store_ = bookmark_utils::MakeFolderTreeStore();
172 &selected_iter); 172 bookmark_utils::AddToTreeStore(bb_model_, selected_id,
173 tree_store_, &selected_iter);
173 174
174 // TODO(erg): Figure out how to place icons here. 175 GtkTreeViewColumn* icon_column =
176 gtk_tree_view_column_new_with_attributes(
177 "", gtk_cell_renderer_pixbuf_new(), "pixbuf",
178 bookmark_utils::FOLDER_ICON, NULL);
175 GtkTreeViewColumn* name_column = 179 GtkTreeViewColumn* name_column =
176 gtk_tree_view_column_new_with_attributes( 180 gtk_tree_view_column_new_with_attributes(
177 "Folder", gtk_cell_renderer_text_new(), "text", 0, NULL); 181 "", gtk_cell_renderer_text_new(), "text",
182 bookmark_utils::FOLDER_NAME, NULL);
178 183
179 tree_view_ = gtk_tree_view_new_with_model(GTK_TREE_MODEL(tree_store_)); 184 tree_view_ = gtk_tree_view_new_with_model(GTK_TREE_MODEL(tree_store_));
185 // Let |tree_view| own the store.
186 g_object_unref(tree_store_);
180 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view_), FALSE); 187 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view_), FALSE);
181 gtk_tree_view_insert_column(GTK_TREE_VIEW(tree_view_), name_column, -1); 188 gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view_), icon_column);
189 gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view_), name_column);
182 gtk_widget_set_size_request(tree_view_, kTreeWidth, kTreeHeight); 190 gtk_widget_set_size_request(tree_view_, kTreeWidth, kTreeHeight);
183 191
184 tree_selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view_)); 192 tree_selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view_));
185 193
186 GtkTreePath* path = NULL; 194 GtkTreePath* path = NULL;
187 if (selected_id) { 195 if (selected_id) {
188 path = gtk_tree_model_get_path(GTK_TREE_MODEL(tree_store_), 196 path = gtk_tree_model_get_path(GTK_TREE_MODEL(tree_store_),
189 &selected_iter); 197 &selected_iter);
190 } else { 198 } else {
191 // We don't have a selected parent (Probably because we're making a new 199 // We don't have a selected parent (Probably because we're making a new
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 331 }
324 332
325 bookmark_utils::ApplyEditsWithPossibleGroupChange( 333 bookmark_utils::ApplyEditsWithPossibleGroupChange(
326 bb_model_, new_parent, node_, new_title, new_url, handler_.get()); 334 bb_model_, new_parent, node_, new_title, new_url, handler_.get());
327 } 335 }
328 336
329 void BookmarkEditorGtk::AddNewGroup(GtkTreeIter* parent, GtkTreeIter* child) { 337 void BookmarkEditorGtk::AddNewGroup(GtkTreeIter* parent, GtkTreeIter* child) {
330 gtk_tree_store_append(tree_store_, child, parent); 338 gtk_tree_store_append(tree_store_, child, parent);
331 gtk_tree_store_set( 339 gtk_tree_store_set(
332 tree_store_, child, 340 tree_store_, child,
333 0, l10n_util::GetStringUTF8(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME).c_str(), 341 bookmark_utils::FOLDER_ICON,
334 1, 0, 342 bookmark_utils::GetFolderIcon(),
343 bookmark_utils::FOLDER_NAME,
344 l10n_util::GetStringUTF8(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME).c_str(),
345 bookmark_utils::ITEM_ID, 0,
335 -1); 346 -1);
336 } 347 }
337 348
338 // static 349 // static
339 void BookmarkEditorGtk::OnResponse(GtkDialog* dialog, int response_id, 350 void BookmarkEditorGtk::OnResponse(GtkDialog* dialog, int response_id,
340 BookmarkEditorGtk* window) { 351 BookmarkEditorGtk* window) {
341 if (response_id == GTK_RESPONSE_ACCEPT) { 352 if (response_id == GTK_RESPONSE_ACCEPT) {
342 window->ApplyEdits(); 353 window->ApplyEdits();
343 } 354 }
344 355
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 405
395 GtkTreeIter new_item_iter; 406 GtkTreeIter new_item_iter;
396 dialog->AddNewGroup(&iter, &new_item_iter); 407 dialog->AddNewGroup(&iter, &new_item_iter);
397 408
398 GtkTreePath* path = gtk_tree_model_get_path( 409 GtkTreePath* path = gtk_tree_model_get_path(
399 GTK_TREE_MODEL(dialog->tree_store_), &new_item_iter); 410 GTK_TREE_MODEL(dialog->tree_store_), &new_item_iter);
400 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(dialog->tree_view_), path); 411 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(dialog->tree_view_), path);
401 gtk_tree_selection_select_path(dialog->tree_selection_, path); 412 gtk_tree_selection_select_path(dialog->tree_selection_, path);
402 gtk_tree_path_free(path); 413 gtk_tree_path_free(path);
403 } 414 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/bookmark_bar_gtk.cc ('k') | chrome/browser/gtk/bookmark_manager_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698