| Index: chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h
|
| diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_panel.h b/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h
|
| similarity index 57%
|
| rename from chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_panel.h
|
| rename to chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h
|
| index 3db631d80665a2e1136bd73bb85a873a9b44a371..1b1d9965603da51ef44f41e8aef064c4a0c2baf9 100644
|
| --- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_panel.h
|
| +++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h
|
| @@ -2,55 +2,60 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_PANEL_H_
|
| -#define CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_PANEL_H_
|
| +#ifndef CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_TAB_H_
|
| +#define CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_TAB_H_
|
|
|
| -#include "base/callback_forward.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "chrome/browser/ui/views/apps/app_info_dialog/app_info_panel.h"
|
| +#include "chrome/browser/extensions/extension_uninstall_dialog.h"
|
| +#include "chrome/browser/ui/views/apps/app_info_dialog/app_info_tab.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| +#include "ui/base/models/combobox_model.h"
|
| #include "ui/gfx/native_widget_types.h"
|
| #include "ui/views/controls/button/button.h"
|
| #include "ui/views/controls/combobox/combobox_listener.h"
|
| +#include "ui/views/controls/link_listener.h"
|
|
|
| -class LaunchOptionsComboboxModel;
|
| class Profile;
|
|
|
| namespace extensions {
|
| class Extension;
|
| }
|
| -
|
| +namespace gfx {
|
| +class Image;
|
| +}
|
| namespace ui {
|
| class Event;
|
| }
|
| -
|
| namespace views {
|
| class Combobox;
|
| +class ImageView;
|
| class Label;
|
| class LabelButton;
|
| }
|
|
|
| -// The summary panel of the app info dialog, which provides basic information
|
| -// and controls related to the app.
|
| -class AppInfoSummaryPanel : public AppInfoPanel,
|
| - public views::ComboboxListener,
|
| - public views::ButtonListener {
|
| +class LaunchOptionsComboboxModel;
|
| +
|
| +// The Summary tab of the app info dialog, which provides basic information and
|
| +// controls related to the app.
|
| +class AppInfoSummaryTab
|
| + : public AppInfoTab,
|
| + public views::ComboboxListener,
|
| + public views::ButtonListener,
|
| + public extensions::ExtensionUninstallDialog::Delegate {
|
| public:
|
| - AppInfoSummaryPanel(gfx::NativeWindow parent_window,
|
| - Profile* profile,
|
| - const extensions::Extension* app,
|
| - const base::Closure& close_callback);
|
| + AppInfoSummaryTab(gfx::NativeWindow parent_window,
|
| + Profile* profile,
|
| + const extensions::Extension* app,
|
| + const base::Closure& close_callback);
|
|
|
| - virtual ~AppInfoSummaryPanel();
|
| + virtual ~AppInfoSummaryTab();
|
|
|
| private:
|
| // Internal initialisation methods.
|
| void CreateDescriptionControl();
|
| void CreateLaunchOptionControl();
|
| - void CreateShortcutsButton();
|
| + void CreateButtons();
|
|
|
| - void LayoutDescriptionControl();
|
| - void LayoutShortcutsButton();
|
| + void LayoutButtons();
|
|
|
| // Overridden from views::ComboboxListener:
|
| virtual void OnPerformAction(views::Combobox* combobox) OVERRIDE;
|
| @@ -59,6 +64,10 @@ class AppInfoSummaryPanel : public AppInfoPanel,
|
| virtual void ButtonPressed(views::Button* sender,
|
| const ui::Event& event) OVERRIDE;
|
|
|
| + // Overridden from ExtensionUninstallDialog::Delegate.
|
| + virtual void ExtensionUninstallAccepted() OVERRIDE;
|
| + virtual void ExtensionUninstallCanceled() OVERRIDE;
|
| +
|
| // Returns the launch type of the app (e.g. pinned tab, fullscreen, etc).
|
| extensions::LaunchType GetLaunchType() const;
|
|
|
| @@ -67,21 +76,29 @@ class AppInfoSummaryPanel : public AppInfoPanel,
|
| void SetLaunchType(extensions::LaunchType) const;
|
| bool CanSetLaunchType() const;
|
|
|
| + // Uninstall the app. Must only be called if CanUninstallApp() returns true.
|
| + void UninstallApp();
|
| + bool CanUninstallApp() const;
|
| +
|
| // Create Shortcuts for the app. Must only be called if CanCreateShortcuts()
|
| // returns true.
|
| void CreateShortcuts();
|
| bool CanCreateShortcuts() const;
|
|
|
| - // UI elements on the dialog.
|
| - views::Label* description_heading_;
|
| - views::Label* description_label_;
|
| + bool HasImportedModules();
|
|
|
| + // UI elements on the dialog.
|
| + views::View* app_summary_panel_;
|
| + views::Label* app_description_label_;
|
| views::LabelButton* create_shortcuts_button_;
|
|
|
| + scoped_ptr<extensions::ExtensionUninstallDialog> extension_uninstall_dialog_;
|
| + views::LabelButton* uninstall_button_;
|
| +
|
| scoped_ptr<LaunchOptionsComboboxModel> launch_options_combobox_model_;
|
| views::Combobox* launch_options_combobox_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(AppInfoSummaryPanel);
|
| + DISALLOW_COPY_AND_ASSIGN(AppInfoSummaryTab);
|
| };
|
|
|
| -#endif // CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_PANEL_H_
|
| +#endif // CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_SUMMARY_TAB_H_
|
|
|