diff options
-rw-r--r-- | ash/ash_strings.grd | 4 | ||||
-rw-r--r-- | ash/launcher/launcher_delegate.h | 4 | ||||
-rw-r--r-- | ash/launcher/launcher_view.cc | 8 | ||||
-rw-r--r-- | ash/shell/launcher_delegate_impl.cc | 5 | ||||
-rw-r--r-- | ash/shell/launcher_delegate_impl.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc | 20 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h | 1 |
7 files changed, 32 insertions, 11 deletions
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd index c6107b5..15b321c 100644 --- a/ash/ash_strings.grd +++ b/ash/ash_strings.grd @@ -167,8 +167,8 @@ This file contains the strings for ash. <message name="IDS_AURA_APP_LIST_TITLE" desc="The title used for the Aura app list in the launcher"> Applications </message> - <message name="IDS_AURA_CYCLER_TITLE" desc="The title used for the Aura window cycler in the launcher"> - Window Cycler + <message name="IDS_AURA_NEW_TAB" desc="The text label of the New Tab menu item"> + New tab </message> <message name="IDS_AURA_LAUNCHER_OVERFLOW_NAME" desc="The title used for the Aura overflow button in the launcher"> Overflow Button diff --git a/ash/launcher/launcher_delegate.h b/ash/launcher/launcher_delegate.h index 27bd964..9e5fdc6 100644 --- a/ash/launcher/launcher_delegate.h +++ b/ash/launcher/launcher_delegate.h @@ -25,6 +25,10 @@ class ASH_EXPORT LauncherDelegate { // tab. virtual void CreateNewTab() = 0; + // Invoked when the user clicks on button in the launcher to create a new + // window. + virtual void CreateNewWindow() = 0; + // Invoked when the user clicks on a window entry in the launcher. virtual void ItemClicked(const LauncherItem& item) = 0; diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc index 4695ebe..8f5722e 100644 --- a/ash/launcher/launcher_view.cc +++ b/ash/launcher/launcher_view.cc @@ -28,6 +28,7 @@ #include "ui/views/controls/button/image_button.h" #include "ui/views/controls/menu/menu_model_adapter.h" #include "ui/views/controls/menu/menu_runner.h" +#include "ui/views/widget/root_view.h" #include "ui/views/widget/widget.h" using ui::Animation; @@ -692,7 +693,7 @@ string16 LauncherView::GetAccessibleName(const views::View* view) { return l10n_util::GetStringUTF16(IDS_AURA_APP_LIST_TITLE); case TYPE_BROWSER_SHORTCUT: - return l10n_util::GetStringUTF16(IDS_AURA_CYCLER_TITLE); + return l10n_util::GetStringUTF16(IDS_AURA_NEW_TAB); } return string16(); @@ -725,7 +726,10 @@ void LauncherView::ButtonPressed(views::Button* sender, break; case TYPE_BROWSER_SHORTCUT: - delegate_->CreateNewTab(); + if (event.flags() & ui::EF_CONTROL_DOWN) + delegate_->CreateNewWindow(); + else + delegate_->CreateNewTab(); break; } } diff --git a/ash/shell/launcher_delegate_impl.cc b/ash/shell/launcher_delegate_impl.cc index 6a9f0d9..9d7fe27 100644 --- a/ash/shell/launcher_delegate_impl.cc +++ b/ash/shell/launcher_delegate_impl.cc @@ -20,7 +20,12 @@ LauncherDelegateImpl::LauncherDelegateImpl(WindowWatcher* watcher) LauncherDelegateImpl::~LauncherDelegateImpl() { } +// In the shell we'll create a window all the time. void LauncherDelegateImpl::CreateNewTab() { + CreateNewWindow(); +} + +void LauncherDelegateImpl::CreateNewWindow() { ash::shell::ToplevelWindow::CreateParams create_params; create_params.can_resize = true; create_params.can_maximize = true; diff --git a/ash/shell/launcher_delegate_impl.h b/ash/shell/launcher_delegate_impl.h index 0bd2f9e..9a43a12 100644 --- a/ash/shell/launcher_delegate_impl.h +++ b/ash/shell/launcher_delegate_impl.h @@ -27,6 +27,7 @@ class LauncherDelegateImpl : public ash::LauncherDelegate { // LauncherDelegate overrides: virtual void CreateNewTab() OVERRIDE; + virtual void CreateNewWindow() OVERRIDE; virtual void ItemClicked(const ash::LauncherItem& item) OVERRIDE; virtual int GetBrowserShortcutResourceId() OVERRIDE; virtual string16 GetTitle(const ash::LauncherItem& item) OVERRIDE; diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc index 2fdecdb..35bdfc2 100644 --- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc +++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc @@ -341,14 +341,20 @@ void ChromeLauncherDelegate::CreateNewTab() { Browser *last_browser = BrowserList::FindTabbedBrowser( GetProfileForNewWindows(), true); - if (last_browser) { - last_browser->NewTab(); - aura::Window* window = last_browser->window()->GetNativeHandle(); - window->Show(); - ash::wm::ActivateWindow(window); - } else { - Browser::NewEmptyWindow(GetProfileForNewWindows()); + if (!last_browser) { + CreateNewWindow(); + return; } + + last_browser->NewTab(); + aura::Window* window = last_browser->window()->GetNativeHandle(); + window->Show(); + ash::wm::ActivateWindow(window); +} + +void ChromeLauncherDelegate::CreateNewWindow() { + printf("ChromeLauncherDelegate::CreateNewWindow\n"); + Browser::NewEmptyWindow(GetProfileForNewWindows()); } void ChromeLauncherDelegate::ItemClicked(const ash::LauncherItem& item) { diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h index 87d1b2d..4994db6 100644 --- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h +++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h @@ -151,6 +151,7 @@ class ChromeLauncherDelegate : public ash::LauncherDelegate, // ash::LauncherDelegate overrides: virtual void CreateNewTab() OVERRIDE; + virtual void CreateNewWindow() OVERRIDE; virtual void ItemClicked(const ash::LauncherItem& item) OVERRIDE; virtual int GetBrowserShortcutResourceId() OVERRIDE; virtual string16 GetTitle(const ash::LauncherItem& item) OVERRIDE; |