| Index: chrome/browser/gtk/bookmark_editor_gtk.cc
|
| ===================================================================
|
| --- chrome/browser/gtk/bookmark_editor_gtk.cc (revision 66194)
|
| +++ chrome/browser/gtk/bookmark_editor_gtk.cc (working copy)
|
| @@ -7,7 +7,6 @@
|
| #include <gtk/gtk.h>
|
|
|
| #include "app/l10n_util.h"
|
| -#include "app/menus/simple_menu_model.h"
|
| #include "base/basictypes.h"
|
| #include "base/logging.h"
|
| #include "base/string_util.h"
|
| @@ -18,7 +17,6 @@
|
| #include "chrome/browser/gtk/bookmark_utils_gtk.h"
|
| #include "chrome/browser/gtk/gtk_theme_provider.h"
|
| #include "chrome/browser/gtk/gtk_util.h"
|
| -#include "chrome/browser/gtk/menu_gtk.h"
|
| #include "chrome/browser/history/history.h"
|
| #include "chrome/browser/net/url_fixer_upper.h"
|
| #include "chrome/browser/profile.h"
|
| @@ -39,127 +37,6 @@
|
|
|
| } // namespace
|
|
|
| -class BookmarkEditorGtk::ContextMenuController
|
| - : public menus::SimpleMenuModel::Delegate {
|
| - public:
|
| - explicit ContextMenuController(BookmarkEditorGtk* editor)
|
| - : editor_(editor),
|
| - running_menu_for_root_(false) {
|
| - menu_model_.reset(new menus::SimpleMenuModel(this));
|
| - menu_model_->AddItemWithStringId(COMMAND_EDIT, IDS_EDIT);
|
| - menu_model_->AddItemWithStringId(
|
| - COMMAND_NEW_FOLDER,
|
| - IDS_BOOMARK_EDITOR_NEW_FOLDER_MENU_ITEM);
|
| - menu_.reset(new MenuGtk(NULL, menu_model_.get()));
|
| - }
|
| - virtual ~ContextMenuController() {}
|
| -
|
| - void RunMenu() {
|
| - const BookmarkNode* selected_node = GetSelectedNode();
|
| - if (selected_node)
|
| - running_menu_for_root_ = selected_node->GetParent()->IsRoot();
|
| - menu_->PopupAsContext(gtk_get_current_event_time());
|
| - }
|
| -
|
| - void Cancel() {
|
| - editor_ = NULL;
|
| - menu_->Cancel();
|
| - }
|
| -
|
| - private:
|
| - enum ContextMenuCommand {
|
| - COMMAND_EDIT,
|
| - COMMAND_NEW_FOLDER
|
| - };
|
| -
|
| - // Overridden from menus::SimpleMenuModel::Delegate:
|
| - virtual bool IsCommandIdEnabled(int command_id) const {
|
| - return !(command_id == COMMAND_EDIT && running_menu_for_root_) &&
|
| - (editor_ != NULL);
|
| - }
|
| -
|
| - virtual bool IsCommandIdChecked(int command_id) const {
|
| - return false;
|
| - }
|
| -
|
| - virtual bool GetAcceleratorForCommandId(int command_id,
|
| - menus::Accelerator* accelerator) {
|
| - return false;
|
| - }
|
| -
|
| - virtual void ExecuteCommand(int command_id) {
|
| - if (!editor_)
|
| - return;
|
| -
|
| - switch (command_id) {
|
| - case COMMAND_EDIT: {
|
| - GtkTreeIter iter;
|
| - if (!gtk_tree_selection_get_selected(editor_->tree_selection_,
|
| - NULL,
|
| - &iter)) {
|
| - return;
|
| - }
|
| -
|
| - GtkTreePath* path = gtk_tree_model_get_path(
|
| - GTK_TREE_MODEL(editor_->tree_store_), &iter);
|
| - gtk_tree_view_expand_to_path(GTK_TREE_VIEW(editor_->tree_view_), path);
|
| -
|
| - // Make the folder name editable.
|
| - gtk_tree_view_set_cursor(GTK_TREE_VIEW(editor_->tree_view_), path,
|
| - gtk_tree_view_get_column(GTK_TREE_VIEW(editor_->tree_view_), 0),
|
| - TRUE);
|
| -
|
| - gtk_tree_path_free(path);
|
| - break;
|
| - }
|
| - case COMMAND_NEW_FOLDER:
|
| - editor_->NewFolder();
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - break;
|
| - }
|
| - }
|
| -
|
| - int64 GetRowIdAt(GtkTreeModel* model, GtkTreeIter* iter) {
|
| - GValue value = { 0, };
|
| - gtk_tree_model_get_value(model, iter, bookmark_utils::ITEM_ID, &value);
|
| - int64 id = g_value_get_int64(&value);
|
| - g_value_unset(&value);
|
| - return id;
|
| - }
|
| -
|
| - const BookmarkNode* GetNodeAt(GtkTreeModel* model, GtkTreeIter* iter) {
|
| - int64 id = GetRowIdAt(model, iter);
|
| - return (id > 0) ? editor_->bb_model_->GetNodeByID(id) : NULL;
|
| - }
|
| -
|
| - const BookmarkNode* GetSelectedNode() {
|
| - GtkTreeModel* model;
|
| - GtkTreeIter iter;
|
| - if (!gtk_tree_selection_get_selected(editor_->tree_selection_,
|
| - &model,
|
| - &iter)) {
|
| - return NULL;
|
| - }
|
| -
|
| - return GetNodeAt(model, &iter);
|
| - }
|
| -
|
| - // The model and view for the right click context menu.
|
| - scoped_ptr<menus::SimpleMenuModel> menu_model_;
|
| - scoped_ptr<MenuGtk> menu_;
|
| -
|
| - // The context menu was brought up for. Set to NULL when the menu is canceled.
|
| - BookmarkEditorGtk* editor_;
|
| -
|
| - // If true, we're running the menu for the bookmark bar or other bookmarks
|
| - // nodes.
|
| - bool running_menu_for_root_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ContextMenuController);
|
| -};
|
| -
|
| // static
|
| void BookmarkEditor::Show(gfx::NativeWindow parent_hwnd,
|
| Profile* profile,
|
| @@ -304,8 +181,6 @@
|
| tree_view_ = bookmark_utils::MakeTreeViewForStore(tree_store_);
|
| gtk_widget_set_size_request(tree_view_, kTreeWidth, kTreeHeight);
|
| tree_selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view_));
|
| - g_signal_connect(tree_view_, "button-press-event",
|
| - G_CALLBACK(OnTreeViewButtonPressEventThunk), this);
|
|
|
| GtkTreePath* path = NULL;
|
| if (selected_id) {
|
| @@ -521,25 +396,6 @@
|
| }
|
|
|
| void BookmarkEditorGtk::OnNewFolderClicked(GtkWidget* button) {
|
| - NewFolder();
|
| -}
|
| -
|
| -gboolean BookmarkEditorGtk::OnTreeViewButtonPressEvent(GtkWidget* widget,
|
| - GdkEventButton* event) {
|
| - if (event->button == 3)
|
| - ShowContextMenu();
|
| -
|
| - return FALSE;
|
| -}
|
| -
|
| -void BookmarkEditorGtk::ShowContextMenu() {
|
| - if (!menu_controller_.get())
|
| - menu_controller_.reset(new ContextMenuController(this));
|
| -
|
| - menu_controller_->RunMenu();
|
| -}
|
| -
|
| -void BookmarkEditorGtk::NewFolder() {
|
| GtkTreeIter iter;
|
| if (!gtk_tree_selection_get_selected(tree_selection_,
|
| NULL,
|
|
|