| Index: trunk/src/chrome/browser/ui/ash/launcher/shell_window_launcher_item_controller.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/ui/ash/launcher/shell_window_launcher_item_controller.cc (revision 226578)
|
| +++ trunk/src/chrome/browser/ui/ash/launcher/shell_window_launcher_item_controller.cc (working copy)
|
| @@ -6,14 +6,11 @@
|
|
|
| #include "apps/native_app_window.h"
|
| #include "apps/shell_window.h"
|
| -#include "ash/launcher/launcher_model.h"
|
| #include "ash/wm/window_state.h"
|
| #include "ash/wm/window_util.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item_v2app.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
|
| -#include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h"
|
| -#include "chrome/browser/ui/ash/launcher/launcher_context_menu.h"
|
| #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "ui/aura/client/aura_constants.h"
|
| @@ -84,6 +81,20 @@
|
| last_active_shell_window_ = *iter;
|
| }
|
|
|
| +string16 ShellWindowLauncherItemController::GetTitle() {
|
| + // For panels return the title of the contents if set.
|
| + // Otherwise return the title of the app.
|
| + if (type() == TYPE_APP_PANEL && !shell_windows_.empty()) {
|
| + ShellWindow* shell_window = shell_windows_.front();
|
| + if (shell_window->web_contents()) {
|
| + string16 title = shell_window->web_contents()->GetTitle();
|
| + if (!title.empty())
|
| + return title;
|
| + }
|
| + }
|
| + return GetAppTitle();
|
| +}
|
| +
|
| bool ShellWindowLauncherItemController::IsCurrentlyShownInWindow(
|
| aura::Window* window) const {
|
| ShellWindowList::const_iterator iter =
|
| @@ -129,36 +140,7 @@
|
| }
|
| }
|
|
|
| -void ShellWindowLauncherItemController::ActivateIndexedApp(size_t index) {
|
| - if (index >= shell_windows_.size())
|
| - return;
|
| - ShellWindowList::iterator it = shell_windows_.begin();
|
| - std::advance(it, index);
|
| - ShowAndActivateOrMinimize(*it);
|
| -}
|
| -
|
| -ChromeLauncherAppMenuItems
|
| -ShellWindowLauncherItemController::GetApplicationList(int event_flags) {
|
| - ChromeLauncherAppMenuItems items;
|
| - items.push_back(new ChromeLauncherAppMenuItem(GetTitle(), NULL, false));
|
| - int index = 0;
|
| - for (ShellWindowList::iterator iter = shell_windows_.begin();
|
| - iter != shell_windows_.end(); ++iter) {
|
| - ShellWindow* shell_window = *iter;
|
| - scoped_ptr<gfx::Image> image(shell_window->GetAppListIcon());
|
| - items.push_back(new ChromeLauncherAppMenuItemV2App(
|
| - shell_window->GetTitle(),
|
| - image.get(), // Will be copied
|
| - app_id(),
|
| - launcher_controller(),
|
| - index,
|
| - index == 0 /* has_leading_separator */));
|
| - ++index;
|
| - }
|
| - return items.Pass();
|
| -}
|
| -
|
| -void ShellWindowLauncherItemController::ItemSelected(const ui::Event& event) {
|
| +void ShellWindowLauncherItemController::Clicked(const ui::Event& event) {
|
| if (shell_windows_.empty())
|
| return;
|
| if (type() == TYPE_APP_PANEL) {
|
| @@ -189,44 +171,35 @@
|
| }
|
| }
|
|
|
| -base::string16 ShellWindowLauncherItemController::GetTitle() {
|
| - // For panels return the title of the contents if set.
|
| - // Otherwise return the title of the app.
|
| - if (type() == TYPE_APP_PANEL && !shell_windows_.empty()) {
|
| - ShellWindow* shell_window = shell_windows_.front();
|
| - if (shell_window->web_contents()) {
|
| - string16 title = shell_window->web_contents()->GetTitle();
|
| - if (!title.empty())
|
| - return title;
|
| - }
|
| - }
|
| - return GetAppTitle();
|
| +void ShellWindowLauncherItemController::ActivateIndexedApp(size_t index) {
|
| + if (index >= shell_windows_.size())
|
| + return;
|
| + ShellWindowList::iterator it = shell_windows_.begin();
|
| + std::advance(it, index);
|
| + ShowAndActivateOrMinimize(*it);
|
| }
|
|
|
| -ui::MenuModel* ShellWindowLauncherItemController::CreateContextMenu(
|
| - aura::RootWindow* root_window) {
|
| - ash::LauncherItem item =
|
| - *(launcher_controller()->model()->ItemByID(launcher_id()));
|
| - return new LauncherContextMenu(launcher_controller(), &item, root_window);
|
| +ChromeLauncherAppMenuItems
|
| +ShellWindowLauncherItemController::GetApplicationList(int event_flags) {
|
| + ChromeLauncherAppMenuItems items;
|
| + items.push_back(new ChromeLauncherAppMenuItem(GetTitle(), NULL, false));
|
| + int index = 0;
|
| + for (ShellWindowList::iterator iter = shell_windows_.begin();
|
| + iter != shell_windows_.end(); ++iter) {
|
| + ShellWindow* shell_window = *iter;
|
| + scoped_ptr<gfx::Image> image(shell_window->GetAppListIcon());
|
| + items.push_back(new ChromeLauncherAppMenuItemV2App(
|
| + shell_window->GetTitle(),
|
| + image.get(), // Will be copied
|
| + app_id(),
|
| + launcher_controller(),
|
| + index,
|
| + index == 0 /* has_leading_separator */));
|
| + ++index;
|
| + }
|
| + return items.Pass();
|
| }
|
|
|
| -ash::LauncherMenuModel*
|
| -ShellWindowLauncherItemController::CreateApplicationMenu(int event_flags) {
|
| - return new LauncherApplicationMenuItemModel(GetApplicationList(event_flags));
|
| -}
|
| -
|
| -bool ShellWindowLauncherItemController::IsDraggable() {
|
| - if (type() == TYPE_APP_PANEL)
|
| - return true;
|
| - return launcher_controller()->CanPin() ? true : false;
|
| -}
|
| -
|
| -bool ShellWindowLauncherItemController::ShouldShowTooltip() {
|
| - if (type() == TYPE_APP_PANEL && IsVisible())
|
| - return false;
|
| - return true;
|
| -}
|
| -
|
| void ShellWindowLauncherItemController::OnWindowPropertyChanged(
|
| aura::Window* window,
|
| const void* key,
|
|
|