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

Side by Side Diff: chrome/browser/ui/views/extensions/extension_install_dialog_view.cc

Issue 9456019: Add GTK interface for installing bundles of extensions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/compiler_specific.h" 6 #include "base/compiler_specific.h"
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/extensions/extension_install_dialog.h" 9 #include "chrome/browser/extensions/extension_install_dialog.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 column_set->AddPaddingColumn(0, views::kPanelHorizMargin); 157 column_set->AddPaddingColumn(0, views::kPanelHorizMargin);
158 column_set->AddColumn(views::GridLayout::LEADING, 158 column_set->AddColumn(views::GridLayout::LEADING,
159 views::GridLayout::LEADING, 159 views::GridLayout::LEADING,
160 0, // no resizing 160 0, // no resizing
161 views::GridLayout::USE_PREF, 161 views::GridLayout::USE_PREF,
162 0, // no fixed width 162 0, // no fixed width
163 kIconSize); 163 kIconSize);
164 164
165 layout->StartRow(0, column_set_id); 165 layout->StartRow(0, column_set_id);
166 166
167 views::Label* heading = new views::Label( 167 views::Label* heading = new views::Label(prompt.GetHeading());
168 prompt.GetHeading(extension->name()));
169 heading->SetFont(heading->font().DeriveFont(kHeadingFontSizeDelta, 168 heading->SetFont(heading->font().DeriveFont(kHeadingFontSizeDelta,
170 gfx::Font::BOLD)); 169 gfx::Font::BOLD));
171 heading->SetMultiLine(true); 170 heading->SetMultiLine(true);
172 heading->SetHorizontalAlignment(views::Label::ALIGN_LEFT); 171 heading->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
173 heading->SizeToFit(left_column_width); 172 heading->SizeToFit(left_column_width);
174 layout->AddView(heading); 173 layout->AddView(heading);
175 174
176 // Scale down to icon size, but allow smaller icons (don't scale up). 175 // Scale down to icon size, but allow smaller icons (don't scale up).
177 gfx::Size size(skia_icon->width(), skia_icon->height()); 176 gfx::Size size(skia_icon->width(), skia_icon->height());
178 if (size.width() > kIconSize || size.height() > kIconSize) 177 if (size.width() > kIconSize || size.height() > kIconSize)
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 227
229 if (is_inline_install()) { 228 if (is_inline_install()) {
230 layout->StartRow(0, column_set_id); 229 layout->StartRow(0, column_set_id);
231 layout->AddView(new views::Separator(), 3, 1, views::GridLayout::FILL, 230 layout->AddView(new views::Separator(), 3, 1, views::GridLayout::FILL,
232 views::GridLayout::FILL); 231 views::GridLayout::FILL);
233 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); 232 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
234 } 233 }
235 234
236 layout->StartRow(0, column_set_id); 235 layout->StartRow(0, column_set_id);
237 views::Label* permissions_header = new views::Label( 236 views::Label* permissions_header = new views::Label(
238 prompt.GetPermissionsHeader()); 237 prompt.GetPermissionsHeading());
239 permissions_header->SetMultiLine(true); 238 permissions_header->SetMultiLine(true);
240 permissions_header->SetHorizontalAlignment(views::Label::ALIGN_LEFT); 239 permissions_header->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
241 permissions_header->SizeToFit(left_column_width); 240 permissions_header->SizeToFit(left_column_width);
242 layout->AddView(permissions_header); 241 layout->AddView(permissions_header);
243 242
244 for (size_t i = 0; i < prompt.GetPermissionCount(); ++i) { 243 for (size_t i = 0; i < prompt.GetPermissionCount(); ++i) {
245 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); 244 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
246 layout->StartRow(0, column_set_id); 245 layout->StartRow(0, column_set_id);
247 views::Label* permission_label = new views::Label( 246 views::Label* permission_label = new views::Label(
248 prompt.GetPermission(i)); 247 prompt.GetPermission(i));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 bool ExtensionInstallDialogView::Accept() { 283 bool ExtensionInstallDialogView::Accept() {
285 delegate_->InstallUIProceed(); 284 delegate_->InstallUIProceed();
286 return true; 285 return true;
287 } 286 }
288 287
289 ui::ModalType ExtensionInstallDialogView::GetModalType() const { 288 ui::ModalType ExtensionInstallDialogView::GetModalType() const {
290 return ui::MODAL_TYPE_WINDOW; 289 return ui::MODAL_TYPE_WINDOW;
291 } 290 }
292 291
293 string16 ExtensionInstallDialogView::GetWindowTitle() const { 292 string16 ExtensionInstallDialogView::GetWindowTitle() const {
294 return prompt_.GetDialogTitle(extension_); 293 return prompt_.GetDialogTitle();
295 } 294 }
296 295
297 views::View* ExtensionInstallDialogView::GetContentsView() { 296 views::View* ExtensionInstallDialogView::GetContentsView() {
298 return this; 297 return this;
299 } 298 }
300 299
301 void ExtensionInstallDialogView::LinkClicked(views::Link* source, 300 void ExtensionInstallDialogView::LinkClicked(views::Link* source,
302 int event_flags) { 301 int event_flags) {
303 GURL store_url( 302 GURL store_url(
304 extension_urls::GetWebstoreItemDetailURLPrefix() + extension_->id()); 303 extension_urls::GetWebstoreItemDetailURLPrefix() + extension_->id());
305 OpenURLParams params( 304 OpenURLParams params(
306 store_url, Referrer(), NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_LINK, 305 store_url, Referrer(), NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_LINK,
307 false); 306 false);
308 BrowserList::GetLastActive()->OpenURL(params); 307 BrowserList::GetLastActive()->OpenURL(params);
309 GetWidget()->Close(); 308 GetWidget()->Close();
310 } 309 }
311 310
312 void ShowExtensionInstallDialogImpl( 311 void ShowExtensionInstallDialogImpl(
313 Profile* profile, 312 Profile* profile,
314 ExtensionInstallUI::Delegate* delegate, 313 ExtensionInstallUI::Delegate* delegate,
315 const Extension* extension,
316 SkBitmap* icon,
317 const ExtensionInstallUI::Prompt& prompt) { 314 const ExtensionInstallUI::Prompt& prompt) {
318 #if defined(OS_CHROMEOS) 315 #if defined(OS_CHROMEOS)
319 // Use a tabbed browser window as parent on ChromeOS. 316 // Use a tabbed browser window as parent on ChromeOS.
320 Browser* browser = BrowserList::FindTabbedBrowser(profile, true); 317 Browser* browser = BrowserList::FindTabbedBrowser(profile, true);
321 #else 318 #else
322 Browser* browser = BrowserList::GetLastActiveWithProfile(profile); 319 Browser* browser = BrowserList::GetLastActiveWithProfile(profile);
323 #endif 320 #endif
324 if (!browser) { 321 if (!browser) {
325 delegate->InstallUIAbort(false); 322 delegate->InstallUIAbort(false);
326 return; 323 return;
327 } 324 }
328 325
329 BrowserWindow* browser_window = browser->window(); 326 BrowserWindow* browser_window = browser->window();
330 if (!browser_window) { 327 if (!browser_window) {
331 delegate->InstallUIAbort(false); 328 delegate->InstallUIAbort(false);
332 return; 329 return;
333 } 330 }
334 331
335 ExtensionInstallDialogView* dialog = new ExtensionInstallDialogView( 332 ExtensionInstallDialogView* dialog = new ExtensionInstallDialogView(
336 delegate, extension, icon, prompt); 333 delegate, extension, icon, prompt);
337 334
338 views::Widget* window = browser::CreateViewsWindow( 335 views::Widget* window = browser::CreateViewsWindow(
339 browser_window->GetNativeHandle(), dialog, STYLE_GENERIC); 336 browser_window->GetNativeHandle(), dialog, STYLE_GENERIC);
340 337
341 window->Show(); 338 window->Show();
342 } 339 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698