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

Unified Diff: chrome/browser/ui/views/extensions/media_galleries_dialog_views.h

Issue 37553002: [MediaGalleries] Add context menu for forgetting galleries. [views] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dlgfix
Patch Set: rename string Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/extensions/media_galleries_dialog_views.h
diff --git a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h
index 28cd096808cc1bde64fa5bcaa3f906d0c0d92098..ca404969f03cddad0279b7f642b478faf7571e3b 100644
--- a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h
+++ b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h
@@ -9,19 +9,28 @@
#include "base/compiler_specific.h"
#include "chrome/browser/media_galleries/media_galleries_dialog_controller.h"
+#include "ui/views/context_menu_controller.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/window/dialog_delegate.h"
+namespace ui {
+class MenuModel;
+}
+
namespace views {
class Checkbox;
class LabelButton;
+class MenuRunner;
class Widget;
}
+class GalleryContextMenuModel;
+
// The media galleries configuration view for Views. It will immediately show
// upon construction.
class MediaGalleriesDialogViews : public MediaGalleriesDialog,
public views::ButtonListener,
+ public views::ContextMenuController,
public views::DialogDelegate {
public:
explicit MediaGalleriesDialogViews(
@@ -51,6 +60,14 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog,
virtual void ButtonPressed(views::Button* sender,
const ui::Event& event) OVERRIDE;
+ // views::ContextMenuController implementation:
+ virtual void ShowContextMenuForView(views::View* source,
+ const gfx::Point& point,
+ ui::MenuSourceType source_type) OVERRIDE;
+
+ // Command from the context menu to forget a gallery.
+ void DidForgetGallery(MediaGalleryPrefId id);
+
private:
typedef std::map<MediaGalleryPrefId, views::Checkbox*> CheckboxMap;
typedef std::map<views::Checkbox*, MediaGalleryPrefInfo> NewCheckboxMap;
@@ -64,6 +81,10 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog,
views::View* container,
int trailing_vertical_space);
+ void ShowContextMenu(const gfx::Point& point,
+ ui::MenuSourceType source_type,
+ MediaGalleryPrefId id);
+
MediaGalleriesDialogController* controller_;
// The containing window (a weak pointer).
@@ -89,6 +110,10 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog,
// True if the user has pressed accept.
bool accepted_;
+ GalleryContextMenuModel* gallery_menu_model_;
+ scoped_ptr<ui::MenuModel> context_menu_model_;
+ scoped_ptr<views::MenuRunner> context_menu_runner_;
+
DISALLOW_COPY_AND_ASSIGN(MediaGalleriesDialogViews);
};

Powered by Google App Engine
This is Rietveld 408576698