Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/gtk/bookmarks/bookmark_editor_gtk.h" | 5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 307 url_entry_ = NULL; | 307 url_entry_ = NULL; |
| 308 table = gtk_util::CreateLabeledControlsGroup(NULL, | 308 table = gtk_util::CreateLabeledControlsGroup(NULL, |
| 309 l10n_util::GetStringUTF8(IDS_BOOMARK_EDITOR_NAME_LABEL).c_str(), | 309 l10n_util::GetStringUTF8(IDS_BOOMARK_EDITOR_NAME_LABEL).c_str(), |
| 310 name_entry_, | 310 name_entry_, |
| 311 NULL); | 311 NULL); |
| 312 } | 312 } |
| 313 | 313 |
| 314 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | 314 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); |
| 315 | 315 |
| 316 if (show_tree_) { | 316 if (show_tree_) { |
| 317 GtkTreeIter selected_iter; | 317 GtkTreeIter* selected_iter = NULL; |
|
Elliot Glaysher
2011/05/18 21:39:29
I am pretty sure the memory handling here is incor
Yaron
2011/05/18 23:29:01
Done.
| |
| 318 int64 selected_id = 0; | 318 int64 selected_id = 0; |
| 319 if (details_.type == EditDetails::EXISTING_NODE) | 319 if (details_.type == EditDetails::EXISTING_NODE) |
| 320 selected_id = details_.existing_node->parent()->id(); | 320 selected_id = details_.existing_node->parent()->id(); |
| 321 else if (parent_) | 321 else if (parent_) |
| 322 selected_id = parent_->id(); | 322 selected_id = parent_->id(); |
| 323 tree_store_ = bookmark_utils::MakeFolderTreeStore(); | 323 tree_store_ = bookmark_utils::MakeFolderTreeStore(); |
| 324 bookmark_utils::AddToTreeStore(bb_model_, selected_id, tree_store_, | 324 bookmark_utils::AddToTreeStore(bb_model_, selected_id, tree_store_, |
| 325 &selected_iter); | 325 selected_iter); |
| 326 tree_view_ = bookmark_utils::MakeTreeViewForStore(tree_store_); | 326 tree_view_ = bookmark_utils::MakeTreeViewForStore(tree_store_); |
| 327 gtk_widget_set_size_request(tree_view_, kTreeWidth, kTreeHeight); | 327 gtk_widget_set_size_request(tree_view_, kTreeWidth, kTreeHeight); |
| 328 tree_selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view_)); | 328 tree_selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view_)); |
| 329 g_signal_connect(tree_view_, "button-press-event", | 329 g_signal_connect(tree_view_, "button-press-event", |
| 330 G_CALLBACK(OnTreeViewButtonPressEventThunk), this); | 330 G_CALLBACK(OnTreeViewButtonPressEventThunk), this); |
| 331 | 331 |
| 332 GtkTreePath* path = NULL; | 332 GtkTreePath* path = NULL; |
| 333 if (selected_id) { | 333 if (selected_id && selected_iter != NULL) { |
| 334 path = gtk_tree_model_get_path(GTK_TREE_MODEL(tree_store_), | 334 path = gtk_tree_model_get_path(GTK_TREE_MODEL(tree_store_), |
| 335 &selected_iter); | 335 selected_iter); |
| 336 } else { | 336 } else { |
| 337 // We don't have a selected parent (Probably because we're making a new | 337 // We don't have a selected parent (Probably because we're making a new |
| 338 // bookmark). Select the first item in the list. | 338 // bookmark). Select the first item in the list. |
| 339 path = gtk_tree_path_new_from_string("0"); | 339 path = gtk_tree_path_new_from_string("0"); |
| 340 } | 340 } |
| 341 | 341 |
| 342 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(tree_view_), path); | 342 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(tree_view_), path); |
| 343 gtk_tree_selection_select_path(tree_selection_, path); | 343 gtk_tree_selection_select_path(tree_selection_, path); |
| 344 gtk_tree_path_free(path); | 344 gtk_tree_path_free(path); |
| 345 | 345 |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 575 GTK_TREE_MODEL(tree_store_), &new_item_iter); | 575 GTK_TREE_MODEL(tree_store_), &new_item_iter); |
| 576 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(tree_view_), path); | 576 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(tree_view_), path); |
| 577 | 577 |
| 578 // Make the folder name editable. | 578 // Make the folder name editable. |
| 579 gtk_tree_view_set_cursor(GTK_TREE_VIEW(tree_view_), path, | 579 gtk_tree_view_set_cursor(GTK_TREE_VIEW(tree_view_), path, |
| 580 gtk_tree_view_get_column(GTK_TREE_VIEW(tree_view_), 0), | 580 gtk_tree_view_get_column(GTK_TREE_VIEW(tree_view_), 0), |
| 581 TRUE); | 581 TRUE); |
| 582 | 582 |
| 583 gtk_tree_path_free(path); | 583 gtk_tree_path_free(path); |
| 584 } | 584 } |
| OLD | NEW |