Chromium Code Reviews| Index: chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h |
| diff --git a/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h b/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h |
| index 09023a20532337786b2a27be2340f758a40fe642..3551ee06aaad26d196da0981f556093a785a9810 100644 |
| --- a/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h |
| +++ b/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h |
| @@ -6,112 +6,18 @@ |
| #define CHROME_BROWSER_UI_VIEWS_DESKTOP_CAPTURE_DESKTOP_MEDIA_PICKER_VIEWS_H_ |
| #include "base/macros.h" |
| -#include "chrome/browser/media/desktop_media_list_observer.h" |
| #include "chrome/browser/media/desktop_media_picker.h" |
| +#include "chrome/browser/ui/views/desktop_capture/desktop_media_list_view.h" |
|
msw
2016/05/16 17:49:47
Just forward declare the classes here, don't inclu
qiangchen
2016/05/16 21:39:37
Done.
|
| +#include "chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h" |
| #include "ui/views/controls/tabbed_pane/tabbed_pane_listener.h" |
| #include "ui/views/window/dialog_delegate.h" |
| namespace views { |
| -class ImageView; |
| -class Label; |
| class Checkbox; |
| class TabbedPane; |
| } // namespace views |
| -class DesktopMediaPickerDialogView; |
| class DesktopMediaPickerViews; |
| -class DesktopMediaSourceView; |
| - |
| -// View that shows a list of desktop media sources available from |
| -// DesktopMediaList. |
| -class DesktopMediaListView : public views::View, |
| - public DesktopMediaListObserver { |
| - public: |
| - DesktopMediaListView(DesktopMediaPickerDialogView* parent, |
| - std::unique_ptr<DesktopMediaList> media_list); |
| - ~DesktopMediaListView() override; |
| - |
| - void StartUpdating(content::DesktopMediaID dialog_window_id); |
| - |
| - // Called by DesktopMediaSourceView when selection has changed. |
| - void OnSelectionChanged(); |
| - |
| - // Called by DesktopMediaSourceView when a source has been double-clicked. |
| - void OnDoubleClick(); |
| - |
| - // Returns currently selected source. |
| - DesktopMediaSourceView* GetSelection(); |
| - |
| - // views::View overrides. |
| - gfx::Size GetPreferredSize() const override; |
| - void Layout() override; |
| - bool OnKeyPressed(const ui::KeyEvent& event) override; |
| - |
| - private: |
| - // DesktopMediaList::Observer interface |
| - void OnSourceAdded(DesktopMediaList* list, int index) override; |
| - void OnSourceRemoved(DesktopMediaList* list, int index) override; |
| - void OnSourceMoved(DesktopMediaList* list, |
| - int old_index, |
| - int new_index) override; |
| - void OnSourceNameChanged(DesktopMediaList* list, int index) override; |
| - void OnSourceThumbnailChanged(DesktopMediaList* list, int index) override; |
| - |
| - // Accepts whatever happens to be selected right now. |
| - void AcceptSelection(); |
| - |
| - DesktopMediaPickerDialogView* parent_; |
| - std::unique_ptr<DesktopMediaList> media_list_; |
| - base::WeakPtrFactory<DesktopMediaListView> weak_factory_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(DesktopMediaListView); |
| -}; |
| - |
| -// View used for each item in DesktopMediaListView. Shows a single desktop media |
| -// source as a thumbnail with the title under it. |
| -class DesktopMediaSourceView : public views::View { |
| - public: |
| - DesktopMediaSourceView(DesktopMediaListView* parent, |
| - content::DesktopMediaID source_id); |
| - ~DesktopMediaSourceView() override; |
| - |
| - // Updates thumbnail and title from |source|. |
| - void SetName(const base::string16& name); |
| - void SetThumbnail(const gfx::ImageSkia& thumbnail); |
| - |
| - // Id for the source shown by this View. |
| - const content::DesktopMediaID& source_id() const { return source_id_; } |
| - |
| - // Returns true if the source is selected. |
| - bool is_selected() const { return selected_; } |
| - |
| - // views::View interface. |
| - const char* GetClassName() const override; |
| - void Layout() override; |
| - views::View* GetSelectedViewForGroup(int group) override; |
| - bool IsGroupFocusTraversable() const override; |
| - void OnPaint(gfx::Canvas* canvas) override; |
| - void OnFocus() override; |
| - void OnBlur() override; |
| - bool OnMousePressed(const ui::MouseEvent& event) override; |
| - void OnGestureEvent(ui::GestureEvent* event) override; |
| - |
| - private: |
| - // Updates selection state of the element. If |selected| is true then also |
| - // calls SetSelected(false) for the source view that was selected before that |
| - // (if any). |
| - void SetSelected(bool selected); |
| - |
| - DesktopMediaListView* parent_; |
| - content::DesktopMediaID source_id_; |
| - |
| - views::ImageView* image_view_; |
| - views::Label* label_; |
| - |
| - bool selected_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(DesktopMediaSourceView); |
| -}; |
| // Dialog view used for DesktopMediaPickerViews. |
| class DesktopMediaPickerDialogView : public views::DialogDelegateView, |