Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1316)

Unified Diff: chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc

Issue 231193003: Add Create Shortcuts button to App Info dialog (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: As small as a patch can be! Almost. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc
diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc b/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc
index b8706e336d1f741bc936b174718eff3de5317c02..788c501b478241c2827cd2ba6ad159716eac6c69 100644
--- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc
+++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.cc
@@ -13,6 +13,7 @@
#include "chrome/browser/extensions/image_loader.h"
#include "chrome/browser/extensions/launch_util.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_constants.h"
@@ -142,6 +143,7 @@ AppInfoSummaryTab::AppInfoSummaryTab(gfx::NativeWindow parent_window,
: AppInfoTab(parent_window, profile, app, close_callback),
app_icon_(NULL),
view_in_store_link_(NULL),
+ create_shortcuts_button_(NULL),
uninstall_button_(NULL),
launch_options_combobox_(NULL),
weak_ptr_factory_(this) {
@@ -260,27 +262,49 @@ AppInfoSummaryTab::AppInfoSummaryTab(gfx::NativeWindow parent_window,
layout->AddView(launch_options_combobox_);
}
- // Add an uninstall button for apps that can be uninstalled.
- if (CanUninstallApp()) {
- // Create a column set specifically for the left-aligned uninstall button.
- static const int kButtonsColumnSet = 2;
+ if (CanCreateShortcuts() || CanUninstallApp()) {
+ // Create a column set specifically for the left-aligned buttons at the
+ // bottom of the dialog.
+ static const int kButtonsColumnSetId = 2;
views::ColumnSet* buttons_column_set =
- layout->AddColumnSet(kButtonsColumnSet);
+ layout->AddColumnSet(kButtonsColumnSetId);
+ buttons_column_set->AddColumn(views::GridLayout::LEADING,
+ views::GridLayout::LEADING,
+ 0,
+ views::GridLayout::USE_PREF,
+ 0, // No fixed width
+ 0);
+ buttons_column_set->AddPaddingColumn(
+ 0, views::kRelatedControlHorizontalSpacing);
buttons_column_set->AddColumn(views::GridLayout::LEADING,
views::GridLayout::LEADING,
0,
views::GridLayout::USE_PREF,
0, // No fixed width
0);
-
- uninstall_button_ = new views::LabelButton(
- this,
- l10n_util::GetStringUTF16(IDS_APPLICATION_INFO_UNINSTALL_BUTTON_TEXT));
- uninstall_button_->SetStyle(views::Button::STYLE_BUTTON);
layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing);
- layout->StartRow(0, kButtonsColumnSet);
- layout->AddView(uninstall_button_);
+ layout->StartRow(0, kButtonsColumnSetId);
+
+ // Add a Create Shortcuts button for apps that can have shortcuts.
+ if (CanCreateShortcuts()) {
+ create_shortcuts_button_ = new views::LabelButton(
+ this,
+ l10n_util::GetStringUTF16(
+ IDS_APPLICATION_INFO_CREATE_SHORTCUTS_BUTTON_TEXT));
+ create_shortcuts_button_->SetStyle(views::Button::STYLE_BUTTON);
+ layout->AddView(create_shortcuts_button_);
+ }
+
+ // Add an uninstall button for apps that can be uninstalled.
+ if (CanUninstallApp()) {
+ uninstall_button_ = new views::LabelButton(
+ this,
+ l10n_util::GetStringUTF16(
+ IDS_APPLICATION_INFO_UNINSTALL_BUTTON_TEXT));
+ uninstall_button_->SetStyle(views::Button::STYLE_BUTTON);
+ layout->AddView(uninstall_button_);
+ }
}
}
@@ -310,6 +334,8 @@ void AppInfoSummaryTab::ButtonPressed(views::Button* sender,
const ui::Event& event) {
if (sender == uninstall_button_) {
UninstallApp();
+ } else if (sender == create_shortcuts_button_) {
+ CreateShortcuts();
} else {
NOTREACHED();
}
@@ -402,3 +428,18 @@ bool AppInfoSummaryTab::CanUninstallApp() const {
->management_policy()
->UserMayModifySettings(app_, NULL);
}
+
+void AppInfoSummaryTab::CreateShortcuts() {
+ DCHECK(CanCreateShortcuts());
+ chrome::ShowCreateChromeAppShortcutsDialog(
+ parent_window_, profile_, app_, base::Closure());
+}
+
+bool AppInfoSummaryTab::CanCreateShortcuts() const {
+ // ChromeOS can pin apps to the app launcher, but can't create shortcuts.
+#if defined(OS_CHROMEOS)
+ return false;
+#else
+ return true;
+#endif
+}
« no previous file with comments | « chrome/browser/ui/views/apps/app_info_dialog/app_info_summary_tab.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698