diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 20:40:04 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 20:40:04 +0000 |
commit | b9437d1e6d77bb0b56c2c408b6e172e1c517a87e (patch) | |
tree | 9ccac85edb316561289bc678360a866b3899bdfc /chrome/browser/gtk/bookmark_manager_gtk.h | |
parent | d2e884d22945641cc92afa1a7d29329b75809ce8 (diff) | |
download | chromium_src-b9437d1e6d77bb0b56c2c408b6e172e1c517a87e.zip chromium_src-b9437d1e6d77bb0b56c2c408b6e172e1c517a87e.tar.gz chromium_src-b9437d1e6d77bb0b56c2c408b6e172e1c517a87e.tar.bz2 |
Rebuild the bookmark context menu from scratch when selection changes.
Since the "remove" item always causes selection to change, we don't have to worry about trying to call remove twice with the same context menu.
TEST=see bug. Also, no new crashes on linux.
BUG=14443
Review URL: http://codereview.chromium.org/132048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18951 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_manager_gtk.h')
-rw-r--r-- | chrome/browser/gtk/bookmark_manager_gtk.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/gtk/bookmark_manager_gtk.h b/chrome/browser/gtk/bookmark_manager_gtk.h index adb96a5..8678acb 100644 --- a/chrome/browser/gtk/bookmark_manager_gtk.h +++ b/chrome/browser/gtk/bookmark_manager_gtk.h @@ -76,6 +76,9 @@ class BookmarkManagerGtk : public BookmarkModelObserver, void InitWidgets(); GtkWidget* MakeLeftPane(); GtkWidget* MakeRightPane(); + // If |left|, then make the organize menu refer to that which is selected in + // the left pane, otherwise use the right pane selection. + void ResetOrganizeMenu(bool left); // Pack the data from the bookmark model into the stores. This does not // create the stores, which is done in Make{Left,Right}Pane(). @@ -176,6 +179,12 @@ class BookmarkManagerGtk : public BookmarkModelObserver, GtkTreePath* path, GtkTreeViewColumn* column, BookmarkManagerGtk* bookmark_manager); + static void OnRightTreeViewFocusIn(GtkTreeView* tree_view, + GdkEventFocus* event, BookmarkManagerGtk* bookmark_manager); + + static void OnLeftTreeViewFocusIn(GtkTreeView* tree_view, + GdkEventFocus* event, BookmarkManagerGtk* bookmark_manager); + // Tools menu item callbacks. static void OnImportItemActivated(GtkMenuItem* menuitem, BookmarkManagerGtk* bookmark_manager); @@ -202,7 +211,12 @@ class BookmarkManagerGtk : public BookmarkModelObserver, GtkTreeViewColumn* path_column_; scoped_ptr<BookmarkTableModel> right_tree_model_; + // The Organize menu item. + GtkWidget* organize_; + // The submenu the item pops up. scoped_ptr<BookmarkContextMenu> organize_menu_; + // Whether the menu refers to the left selection. + bool organize_is_for_left_; // Factory used for delaying search. ScopedRunnableMethodFactory<BookmarkManagerGtk> search_factory_; |