OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/launcher/launcher_view.h" | 5 #include "ash/launcher/launcher_view.h" |
6 | 6 |
7 #include "ash/launcher/app_launcher_button.h" | 7 #include "ash/launcher/app_launcher_button.h" |
8 #include "ash/launcher/launcher_delegate.h" | 8 #include "ash/launcher/launcher_delegate.h" |
9 #include "ash/launcher/launcher_model.h" | 9 #include "ash/launcher/launcher_model.h" |
10 #include "ash/launcher/launcher_window_cycler.h" | 10 #include "ash/launcher/launcher_window_cycler.h" |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 views::View* view = NULL; | 302 views::View* view = NULL; |
303 switch (item.type) { | 303 switch (item.type) { |
304 case TYPE_TABBED: { | 304 case TYPE_TABBED: { |
305 TabbedLauncherButton* button = new TabbedLauncherButton(this, this); | 305 TabbedLauncherButton* button = new TabbedLauncherButton(this, this); |
306 button->SetTabImage(item.image, item.num_tabs); | 306 button->SetTabImage(item.image, item.num_tabs); |
307 button->set_context_menu_controller(this); | 307 button->set_context_menu_controller(this); |
308 view = button; | 308 view = button; |
309 break; | 309 break; |
310 } | 310 } |
311 | 311 |
312 case TYPE_APP: { | 312 case TYPE_APP: |
| 313 case TYPE_PANEL: { |
313 AppLauncherButton* button = new AppLauncherButton(this, this); | 314 AppLauncherButton* button = new AppLauncherButton(this, this); |
314 button->SetAppImage(item.image); | 315 button->SetAppImage(item.image); |
315 view = button; | 316 view = button; |
316 button->set_context_menu_controller(this); | 317 button->set_context_menu_controller(this); |
317 break; | 318 break; |
318 } | 319 } |
319 | 320 |
320 case TYPE_APP_LIST: { | 321 case TYPE_APP_LIST: { |
321 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 322 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
322 views::ImageButton* button = new AppLauncherButton(this, this); | 323 views::ImageButton* button = new AppLauncherButton(this, this); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 } | 411 } |
411 | 412 |
412 void LauncherView::GetOverflowItems(std::vector<LauncherItem>* items) { | 413 void LauncherView::GetOverflowItems(std::vector<LauncherItem>* items) { |
413 int index = 0; | 414 int index = 0; |
414 while (index < view_model_->view_size() && | 415 while (index < view_model_->view_size() && |
415 view_model_->view_at(index)->visible()) { | 416 view_model_->view_at(index)->visible()) { |
416 index++; | 417 index++; |
417 } | 418 } |
418 while (index < view_model_->view_size()) { | 419 while (index < view_model_->view_size()) { |
419 const LauncherItem& item = model_->items()[index]; | 420 const LauncherItem& item = model_->items()[index]; |
420 if (item.type == TYPE_TABBED || item.type == TYPE_APP) | 421 if (item.type == TYPE_TABBED || |
| 422 item.type == TYPE_APP || |
| 423 item.type == TYPE_PANEL) |
421 items->push_back(item); | 424 items->push_back(item); |
422 index++; | 425 index++; |
423 } | 426 } |
424 } | 427 } |
425 | 428 |
426 void LauncherView::ShowOverflowMenu() { | 429 void LauncherView::ShowOverflowMenu() { |
427 #if !defined(OS_MACOSX) | 430 #if !defined(OS_MACOSX) |
428 if (!delegate_) | 431 if (!delegate_) |
429 return; | 432 return; |
430 | 433 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 TabbedLauncherButton* button = static_cast<TabbedLauncherButton*>(view); | 556 TabbedLauncherButton* button = static_cast<TabbedLauncherButton*>(view); |
554 gfx::Size pref = button->GetPreferredSize(); | 557 gfx::Size pref = button->GetPreferredSize(); |
555 button->SetTabImage(item.image, item.num_tabs); | 558 button->SetTabImage(item.image, item.num_tabs); |
556 if (pref != button->GetPreferredSize()) | 559 if (pref != button->GetPreferredSize()) |
557 AnimateToIdealBounds(); | 560 AnimateToIdealBounds(); |
558 else | 561 else |
559 button->SchedulePaint(); | 562 button->SchedulePaint(); |
560 break; | 563 break; |
561 } | 564 } |
562 | 565 |
563 case TYPE_APP: { | 566 case TYPE_APP: |
| 567 case TYPE_PANEL: { |
564 AppLauncherButton* button = static_cast<AppLauncherButton*>(view); | 568 AppLauncherButton* button = static_cast<AppLauncherButton*>(view); |
565 button->SetAppImage(item.image); | 569 button->SetAppImage(item.image); |
566 button->SchedulePaint(); | 570 button->SchedulePaint(); |
567 break; | 571 break; |
568 } | 572 } |
569 | 573 |
570 default: | 574 default: |
571 break; | 575 break; |
572 } | 576 } |
573 } | 577 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 if (!delegate_) | 627 if (!delegate_) |
624 return string16(); | 628 return string16(); |
625 int view_index = view_model_->GetIndexOfView(view); | 629 int view_index = view_model_->GetIndexOfView(view); |
626 // May be -1 while in the process of animating closed. | 630 // May be -1 while in the process of animating closed. |
627 if (view_index == -1) | 631 if (view_index == -1) |
628 return string16(); | 632 return string16(); |
629 | 633 |
630 switch (model_->items()[view_index].type) { | 634 switch (model_->items()[view_index].type) { |
631 case TYPE_TABBED: | 635 case TYPE_TABBED: |
632 case TYPE_APP: | 636 case TYPE_APP: |
| 637 case TYPE_PANEL: |
633 return delegate_->GetTitle(model_->items()[view_index]); | 638 return delegate_->GetTitle(model_->items()[view_index]); |
634 | 639 |
635 case TYPE_APP_LIST: | 640 case TYPE_APP_LIST: |
636 return l10n_util::GetStringUTF16(IDS_AURA_APP_LIST_TITLE); | 641 return l10n_util::GetStringUTF16(IDS_AURA_APP_LIST_TITLE); |
637 | 642 |
638 case TYPE_BROWSER_SHORTCUT: | 643 case TYPE_BROWSER_SHORTCUT: |
639 return l10n_util::GetStringUTF16(IDS_AURA_CYCLER_TITLE); | 644 return l10n_util::GetStringUTF16(IDS_AURA_CYCLER_TITLE); |
640 } | 645 } |
641 return string16(); | 646 return string16(); |
642 } | 647 } |
643 | 648 |
644 void LauncherView::ButtonPressed(views::Button* sender, | 649 void LauncherView::ButtonPressed(views::Button* sender, |
645 const views::Event& event) { | 650 const views::Event& event) { |
646 if (sender == overflow_button_) | 651 if (sender == overflow_button_) |
647 ShowOverflowMenu(); | 652 ShowOverflowMenu(); |
648 | 653 |
649 if (!delegate_) | 654 if (!delegate_) |
650 return; | 655 return; |
651 int view_index = view_model_->GetIndexOfView(sender); | 656 int view_index = view_model_->GetIndexOfView(sender); |
652 // May be -1 while in the process of animating closed. | 657 // May be -1 while in the process of animating closed. |
653 if (view_index == -1) | 658 if (view_index == -1) |
654 return; | 659 return; |
655 | 660 |
656 switch (model_->items()[view_index].type) { | 661 switch (model_->items()[view_index].type) { |
657 case TYPE_TABBED: | 662 case TYPE_TABBED: |
658 case TYPE_APP: | 663 case TYPE_APP: |
| 664 case TYPE_PANEL: |
659 delegate_->ItemClicked(model_->items()[view_index]); | 665 delegate_->ItemClicked(model_->items()[view_index]); |
660 break; | 666 break; |
661 | 667 |
662 case TYPE_APP_LIST: | 668 case TYPE_APP_LIST: |
663 Shell::GetInstance()->ToggleAppList(); | 669 Shell::GetInstance()->ToggleAppList(); |
664 break; | 670 break; |
665 | 671 |
666 case TYPE_BROWSER_SHORTCUT: | 672 case TYPE_BROWSER_SHORTCUT: |
667 cycler_->Cycle(); | 673 cycler_->Cycle(); |
668 break; | 674 break; |
(...skipping 25 matching lines...) Expand all Loading... |
694 // code. | 700 // code. |
695 if (launcher_menu_runner_->RunMenuAt( | 701 if (launcher_menu_runner_->RunMenuAt( |
696 source->GetWidget(), NULL, gfx::Rect(p, gfx::Size()), | 702 source->GetWidget(), NULL, gfx::Rect(p, gfx::Size()), |
697 views::MenuItemView::TOPLEFT, 0) == views::MenuRunner::MENU_DELETED) | 703 views::MenuItemView::TOPLEFT, 0) == views::MenuRunner::MENU_DELETED) |
698 return; | 704 return; |
699 #endif | 705 #endif |
700 } | 706 } |
701 | 707 |
702 } // namespace internal | 708 } // namespace internal |
703 } // namespace ash | 709 } // namespace ash |
OLD | NEW |