Commit 2b1aff23 authored by thestig's avatar thestig Committed by Commit bot

Clean up some nits in DesktopMediaListView.

Review-Url: https://codereview.chromium.org/2293823002
Cr-Commit-Position: refs/heads/master@{#415389}
parent 7e03e5a9
...@@ -4,6 +4,10 @@ ...@@ -4,6 +4,10 @@
#include "chrome/browser/ui/views/desktop_capture/desktop_media_list_view.h" #include "chrome/browser/ui/views/desktop_capture/desktop_media_list_view.h"
#include <algorithm>
#include <string>
#include <utility>
#include "base/command_line.h" #include "base/command_line.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/media/desktop_media_list.h" #include "chrome/browser/media/desktop_media_list.h"
...@@ -45,6 +49,7 @@ gfx::ImageSkia LoadDefaultIcon(aura::Window* window) { ...@@ -45,6 +49,7 @@ gfx::ImageSkia LoadDefaultIcon(aura::Window* window) {
return *rb.GetImageSkiaNamed(idr); return *rb.GetImageSkiaNamed(idr);
} }
#endif #endif
} // namespace } // namespace
DesktopMediaListView::DesktopMediaListView( DesktopMediaListView::DesktopMediaListView(
...@@ -82,8 +87,7 @@ void DesktopMediaListView::OnDoubleClick() { ...@@ -82,8 +87,7 @@ void DesktopMediaListView::OnDoubleClick() {
DesktopMediaSourceView* DesktopMediaListView::GetSelection() { DesktopMediaSourceView* DesktopMediaListView::GetSelection() {
for (int i = 0; i < child_count(); ++i) { for (int i = 0; i < child_count(); ++i) {
DesktopMediaSourceView* source_view = DesktopMediaSourceView* source_view = GetChild(i);
static_cast<DesktopMediaSourceView*>(child_at(i));
DCHECK_EQ(source_view->GetClassName(), DCHECK_EQ(source_view->GetClassName(),
DesktopMediaSourceView::kDesktopMediaSourceViewClassName); DesktopMediaSourceView::kDesktopMediaSourceViewClassName);
if (source_view->is_selected()) if (source_view->is_selected())
...@@ -135,33 +139,27 @@ bool DesktopMediaListView::OnKeyPressed(const ui::KeyEvent& event) { ...@@ -135,33 +139,27 @@ bool DesktopMediaListView::OnKeyPressed(const ui::KeyEvent& event) {
return false; return false;
} }
if (position_increment != 0) { if (position_increment == 0)
DesktopMediaSourceView* selected = GetSelection(); return false;
DesktopMediaSourceView* new_selected = nullptr;
if (selected) {
int index = GetIndexOf(selected);
int new_index = index + position_increment;
if (new_index >= child_count())
new_index = child_count() - 1;
else if (new_index < 0)
new_index = 0;
if (index != new_index) {
new_selected =
static_cast<DesktopMediaSourceView*>(child_at(new_index));
}
} else if (has_children()) {
new_selected = static_cast<DesktopMediaSourceView*>(child_at(0));
}
if (new_selected) { DesktopMediaSourceView* selected = GetSelection();
GetFocusManager()->SetFocusedView(new_selected); DesktopMediaSourceView* new_selected = nullptr;
}
return true; if (selected) {
int index = GetIndexOf(selected);
int new_index = index + position_increment;
new_index = std::min(new_index, child_count() - 1);
new_index = std::max(new_index, 0);
if (index != new_index) {
new_selected = GetChild(new_index);
}
} else if (has_children()) {
new_selected = GetChild(0);
} }
return false; if (new_selected)
GetFocusManager()->SetFocusedView(new_selected);
return true;
} }
void DesktopMediaListView::OnSourceAdded(DesktopMediaList* list, int index) { void DesktopMediaListView::OnSourceAdded(DesktopMediaList* list, int index) {
...@@ -215,8 +213,7 @@ void DesktopMediaListView::OnSourceAdded(DesktopMediaList* list, int index) { ...@@ -215,8 +213,7 @@ void DesktopMediaListView::OnSourceAdded(DesktopMediaList* list, int index) {
} }
void DesktopMediaListView::OnSourceRemoved(DesktopMediaList* list, int index) { void DesktopMediaListView::OnSourceRemoved(DesktopMediaList* list, int index) {
DesktopMediaSourceView* view = DesktopMediaSourceView* view = GetChild(index);
static_cast<DesktopMediaSourceView*>(child_at(index));
DCHECK(view); DCHECK(view);
DCHECK_EQ(view->GetClassName(), DCHECK_EQ(view->GetClassName(),
DesktopMediaSourceView::kDesktopMediaSourceViewClassName); DesktopMediaSourceView::kDesktopMediaSourceViewClassName);
...@@ -241,25 +238,21 @@ void DesktopMediaListView::OnSourceRemoved(DesktopMediaList* list, int index) { ...@@ -241,25 +238,21 @@ void DesktopMediaListView::OnSourceRemoved(DesktopMediaList* list, int index) {
void DesktopMediaListView::OnSourceMoved(DesktopMediaList* list, void DesktopMediaListView::OnSourceMoved(DesktopMediaList* list,
int old_index, int old_index,
int new_index) { int new_index) {
DesktopMediaSourceView* view = ReorderChildView(GetChild(old_index), new_index);
static_cast<DesktopMediaSourceView*>(child_at(old_index));
ReorderChildView(view, new_index);
PreferredSizeChanged(); PreferredSizeChanged();
} }
void DesktopMediaListView::OnSourceNameChanged(DesktopMediaList* list, void DesktopMediaListView::OnSourceNameChanged(DesktopMediaList* list,
int index) { int index) {
const DesktopMediaList::Source& source = media_list_->GetSource(index); const DesktopMediaList::Source& source = media_list_->GetSource(index);
DesktopMediaSourceView* source_view = DesktopMediaSourceView* source_view = GetChild(index);
static_cast<DesktopMediaSourceView*>(child_at(index));
source_view->SetName(source.name); source_view->SetName(source.name);
} }
void DesktopMediaListView::OnSourceThumbnailChanged(DesktopMediaList* list, void DesktopMediaListView::OnSourceThumbnailChanged(DesktopMediaList* list,
int index) { int index) {
const DesktopMediaList::Source& source = media_list_->GetSource(index); const DesktopMediaList::Source& source = media_list_->GetSource(index);
DesktopMediaSourceView* source_view = DesktopMediaSourceView* source_view = GetChild(index);
static_cast<DesktopMediaSourceView*>(child_at(index));
source_view->SetThumbnail(source.thumbnail); source_view->SetThumbnail(source.thumbnail);
} }
...@@ -275,12 +268,14 @@ void DesktopMediaListView::SetStyle(DesktopMediaSourceViewStyle* style) { ...@@ -275,12 +268,14 @@ void DesktopMediaListView::SetStyle(DesktopMediaSourceViewStyle* style) {
style->image_rect.height() - 2 * style->selection_border_thickness)); style->image_rect.height() - 2 * style->selection_border_thickness));
for (int i = 0; i < child_count(); i++) { for (int i = 0; i < child_count(); i++) {
DesktopMediaSourceView* source_view = GetChild(i)->SetStyle(*active_style_);
static_cast<DesktopMediaSourceView*>(child_at(i));
source_view->SetStyle(*active_style_);
} }
} }
DesktopMediaSourceView* DesktopMediaListView::GetChild(int index) {
return static_cast<DesktopMediaSourceView*>(child_at(index));
}
void DesktopMediaListView::GetAccessibleState(ui::AXViewState* state) { void DesktopMediaListView::GetAccessibleState(ui::AXViewState* state) {
state->role = ui::AX_ROLE_GROUP; state->role = ui::AX_ROLE_GROUP;
state->name = accessible_name_; state->name = accessible_name_;
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#ifndef CHROME_BROWSER_UI_VIEWS_DESKTOP_CAPTURE_DESKTOP_MEDIA_LIST_VIEW_H_ #ifndef CHROME_BROWSER_UI_VIEWS_DESKTOP_CAPTURE_DESKTOP_MEDIA_LIST_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_DESKTOP_CAPTURE_DESKTOP_MEDIA_LIST_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_DESKTOP_CAPTURE_DESKTOP_MEDIA_LIST_VIEW_H_
#include <memory>
#include "chrome/browser/media/desktop_media_list_observer.h" #include "chrome/browser/media/desktop_media_list_observer.h"
#include "chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h" #include "chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h"
#include "content/public/browser/desktop_media_id.h" #include "content/public/browser/desktop_media_id.h"
...@@ -58,14 +60,17 @@ class DesktopMediaListView : public views::View, ...@@ -58,14 +60,17 @@ class DesktopMediaListView : public views::View,
// Change the source style of this list on the fly. // Change the source style of this list on the fly.
void SetStyle(DesktopMediaSourceViewStyle* style); void SetStyle(DesktopMediaSourceViewStyle* style);
DesktopMediaPickerDialogView* parent_; // Helper for child_at().
DesktopMediaSourceView* GetChild(int index);
DesktopMediaPickerDialogView* const parent_;
std::unique_ptr<DesktopMediaList> media_list_; std::unique_ptr<DesktopMediaList> media_list_;
DesktopMediaSourceViewStyle single_style_; DesktopMediaSourceViewStyle single_style_;
DesktopMediaSourceViewStyle generic_style_; DesktopMediaSourceViewStyle generic_style_;
DesktopMediaSourceViewStyle* active_style_; DesktopMediaSourceViewStyle* active_style_;
base::string16 accessible_name_; const base::string16 accessible_name_;
base::WeakPtrFactory<DesktopMediaListView> weak_factory_; base::WeakPtrFactory<DesktopMediaListView> weak_factory_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment