| Index: trunk/src/ash/shell/launcher_delegate_impl.cc
|
| ===================================================================
|
| --- trunk/src/ash/shell/launcher_delegate_impl.cc (revision 226578)
|
| +++ trunk/src/ash/shell/launcher_delegate_impl.cc (working copy)
|
| @@ -4,27 +4,67 @@
|
|
|
| #include "ash/shell/launcher_delegate_impl.h"
|
|
|
| +#include "ash/launcher/launcher_item_delegate_manager.h"
|
| +#include "ash/shelf/shelf_util.h"
|
| #include "ash/shell.h"
|
| #include "ash/shell/toplevel_window.h"
|
| #include "ash/shell/window_watcher.h"
|
| #include "ash/wm/window_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "grit/ash_resources.h"
|
| +#include "ui/aura/window.h"
|
|
|
| namespace ash {
|
| namespace shell {
|
|
|
| LauncherDelegateImpl::LauncherDelegateImpl(WindowWatcher* watcher)
|
| : watcher_(watcher) {
|
| + ash::LauncherItemDelegateManager* manager =
|
| + ash::Shell::GetInstance()->launcher_item_delegate_manager();
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_APP_PANEL, this);
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_PLATFORM_APP, this);
|
| }
|
|
|
| LauncherDelegateImpl::~LauncherDelegateImpl() {
|
| }
|
|
|
| +void LauncherDelegateImpl::ItemSelected(const ash::LauncherItem& item,
|
| + const ui::Event& event) {
|
| + aura::Window* window = watcher_->GetWindowByID(item.id);
|
| + if (window->type() == aura::client::WINDOW_TYPE_PANEL)
|
| + ash::wm::MoveWindowToEventRoot(window, event);
|
| + window->Show();
|
| + ash::wm::ActivateWindow(window);
|
| +}
|
| +
|
| +base::string16 LauncherDelegateImpl::GetTitle(const ash::LauncherItem& item) {
|
| + return watcher_->GetWindowByID(item.id)->title();
|
| +}
|
| +
|
| +ui::MenuModel* LauncherDelegateImpl::CreateContextMenu(
|
| + const ash::LauncherItem& item,
|
| + aura::RootWindow* root_window) {
|
| + return NULL;
|
| +}
|
| +
|
| +ash::LauncherMenuModel* LauncherDelegateImpl::CreateApplicationMenu(
|
| + const ash::LauncherItem& item,
|
| + int event_flags) {
|
| + return NULL;
|
| +}
|
| +
|
| ash::LauncherID LauncherDelegateImpl::GetIDByWindow(aura::Window* window) {
|
| return watcher_ ? watcher_->GetIDByWindow(window) : 0;
|
| }
|
|
|
| +bool LauncherDelegateImpl::IsDraggable(const ash::LauncherItem& item) {
|
| + return true;
|
| +}
|
| +
|
| +bool LauncherDelegateImpl::ShouldShowTooltip(const ash::LauncherItem& item) {
|
| + return true;
|
| +}
|
| +
|
| void LauncherDelegateImpl::OnLauncherCreated(Launcher* launcher) {
|
| }
|
|
|
|
|