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

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

Issue 4953003: Revert 66190 - gtk: Add context menu to Bookmark Editor.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 1 month 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_editor_gtk.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « chrome/browser/gtk/bookmark_editor_gtk.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698