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

Unified Diff: chrome/browser/ui/cocoa/chooser_content_view.mm

Issue 2065803002: Make ChromeExtensionChooserDialog::ShowDialog work for MacViews (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 6 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
Index: chrome/browser/ui/cocoa/chooser_content_view.mm
diff --git a/chrome/browser/ui/cocoa/chooser_content_view.mm b/chrome/browser/ui/cocoa/chooser_content_view.mm
deleted file mode 100644
index ddfd8bdfce22fc7cb53c9e580cdde273d40fe7d8..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/chooser_content_view.mm
+++ /dev/null
@@ -1,252 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/chooser_content_view.h"
-
-#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h"
-#include "chrome/grit/generated_resources.h"
-#import "third_party/google_toolbox_for_mac/src/AppKit/GTMUILocalizerAndLayoutTweaker.h"
-#import "ui/base/cocoa/controls/hyperlink_button_cell.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/l10n/l10n_util_mac.h"
-
-namespace {
-
-// Chooser width.
-const CGFloat kChooserWidth = 320.0f;
-
-// Chooser height.
-const CGFloat kChooserHeight = 280.0f;
-
-// Distance between the chooser border and the view that is closest to the
-// border.
-const CGFloat kMarginX = 20.0f;
-const CGFloat kMarginY = 20.0f;
-
-// Distance between two views inside the chooser.
-const CGFloat kHorizontalPadding = 10.0f;
-const CGFloat kVerticalPadding = 10.0f;
-
-// Separator alpha value.
-const CGFloat kSeparatorAlphaValue = 0.6f;
-
-// Separator height.
-const CGFloat kSeparatorHeight = 1.0f;
-
-} // namespace
-
-@implementation ChooserContentView
-
-- (instancetype)initWithChooserTitle:(NSString*)chooserTitle {
- // ------------------------------------
- // | Chooser title |
- // | -------------------------------- |
- // | | option 0 | |
- // | | option 1 | |
- // | | option 2 | |
- // | | | |
- // | | | |
- // | | | |
- // | -------------------------------- |
- // | [ Connect ] [ Cancel ] |
- // |----------------------------------|
- // | Not seeing your device? Get help |
- // ------------------------------------
-
- // Determine the dimensions of the chooser.
- // Once the height and width are set, the buttons and permission menus can
- // be laid out correctly.
- NSRect chooserFrame = NSMakeRect(0, 0, kChooserWidth, kChooserHeight);
-
- if ((self = [super initWithFrame:chooserFrame])) {
- // Create the views.
- // Title.
- titleView_ = [self createChooserTitle:chooserTitle];
- CGFloat titleHeight = NSHeight([titleView_ frame]);
-
- // Connect button.
- connectButton_ = [self createConnectButton];
- CGFloat connectButtonWidth = NSWidth([connectButton_ frame]);
- CGFloat connectButtonHeight = NSHeight([connectButton_ frame]);
-
- // Cancel button.
- cancelButton_ = [self createCancelButton];
- CGFloat cancelButtonWidth = NSWidth([cancelButton_ frame]);
-
- // Separator.
- separator_ = [self createSeparator];
-
- // Message.
- message_ = [self createMessage];
- CGFloat messageWidth = NSWidth([message_ frame]);
- CGFloat messageHeight = NSHeight([message_ frame]);
-
- // Help button.
- helpButton_ = [self createHelpButton];
-
- // ScollView embedding with TableView.
- CGFloat scrollViewWidth = kChooserWidth - 2 * kMarginX;
- CGFloat scrollViewHeight = kChooserHeight - 2 * kMarginY -
- 4 * kVerticalPadding - titleHeight -
- connectButtonHeight - messageHeight;
- NSRect scrollFrame = NSMakeRect(
- kMarginX,
- kMarginY + messageHeight + 3 * kVerticalPadding + connectButtonHeight,
- scrollViewWidth, scrollViewHeight);
- scrollView_.reset([[NSScrollView alloc] initWithFrame:scrollFrame]);
- [scrollView_ setBorderType:NSBezelBorder];
- [scrollView_ setHasVerticalScroller:YES];
- [scrollView_ setHasHorizontalScroller:YES];
- [scrollView_ setAutohidesScrollers:YES];
-
- // TableView.
- tableView_.reset([[NSTableView alloc] initWithFrame:NSZeroRect]);
- tableColumn_.reset([[NSTableColumn alloc] initWithIdentifier:@""]);
- [tableColumn_ setWidth:(scrollViewWidth - kMarginX)];
- [tableView_ addTableColumn:tableColumn_];
- // Make the column title invisible.
- [tableView_ setHeaderView:nil];
- [tableView_ setFocusRingType:NSFocusRingTypeNone];
-
- // Lay out the views.
- // Title.
- CGFloat titleOriginX = kMarginX;
- CGFloat titleOriginY = kChooserHeight - kMarginY - titleHeight;
- [titleView_ setFrameOrigin:NSMakePoint(titleOriginX, titleOriginY)];
- [self addSubview:titleView_];
-
- // ScollView.
- [scrollView_ setDocumentView:tableView_];
- [self addSubview:scrollView_];
-
- // Connect button.
- CGFloat connectButtonOriginX = kChooserWidth - kMarginX -
- kHorizontalPadding - connectButtonWidth -
- cancelButtonWidth;
- CGFloat connectButtonOriginY =
- kMarginY + messageHeight + 2 * kVerticalPadding;
- [connectButton_
- setFrameOrigin:NSMakePoint(connectButtonOriginX, connectButtonOriginY)];
- [connectButton_ setEnabled:NO];
- [self addSubview:connectButton_];
-
- // Cancel button.
- CGFloat cancelButtonOriginX = kChooserWidth - kMarginX - cancelButtonWidth;
- CGFloat cancelButtonOriginY = connectButtonOriginY;
- [cancelButton_
- setFrameOrigin:NSMakePoint(cancelButtonOriginX, cancelButtonOriginY)];
- [self addSubview:cancelButton_];
-
- // Separator.
- CGFloat separatorOriginX = 0.0f;
- CGFloat separatorOriginY = kMarginY + messageHeight + kVerticalPadding;
- [separator_ setFrameOrigin:NSMakePoint(separatorOriginX, separatorOriginY)];
- [self addSubview:separator_];
-
- // Message.
- CGFloat messageOriginX = kMarginX;
- CGFloat messageOriginY = kMarginY;
- [message_ setFrameOrigin:NSMakePoint(messageOriginX, messageOriginY)];
- [self addSubview:message_];
-
- // Help button.
- CGFloat helpButtonOriginX =
- kMarginX + messageWidth - kHorizontalPadding / 2;
- CGFloat helpButtonOriginY = kMarginY;
- [helpButton_
- setFrameOrigin:NSMakePoint(helpButtonOriginX, helpButtonOriginY)];
- [self addSubview:helpButton_];
- }
-
- return self;
-}
-
-- (base::scoped_nsobject<NSTextField>)createChooserTitle:(NSString*)title {
- base::scoped_nsobject<NSTextField> titleView(
- [[NSTextField alloc] initWithFrame:NSZeroRect]);
- [titleView setDrawsBackground:NO];
- [titleView setBezeled:NO];
- [titleView setEditable:NO];
- [titleView setSelectable:NO];
- [titleView setStringValue:title];
- [titleView setFont:[NSFont systemFontOfSize:[NSFont systemFontSize]]];
- // The height is arbitrary as it will be adjusted later.
- [titleView setFrameSize:NSMakeSize(kChooserWidth - 2 * kMarginX, 0.0f)];
- [GTMUILocalizerAndLayoutTweaker sizeToFitFixedWidthTextField:titleView];
- return titleView;
-}
-
-- (base::scoped_nsobject<NSButton>)createButtonWithTitle:(NSString*)title {
- base::scoped_nsobject<NSButton> button(
- [[ConstrainedWindowButton alloc] initWithFrame:NSZeroRect]);
- [button setButtonType:NSMomentaryPushInButton];
- [button setTitle:title];
- [button sizeToFit];
- return button;
-}
-
-- (base::scoped_nsobject<NSButton>)createConnectButton {
- NSString* connectTitle =
- l10n_util::GetNSString(IDS_CHOOSER_BUBBLE_CONNECT_BUTTON_TEXT);
- return [self createButtonWithTitle:connectTitle];
-}
-
-- (base::scoped_nsobject<NSButton>)createCancelButton {
- NSString* cancelTitle =
- l10n_util::GetNSString(IDS_CHOOSER_BUBBLE_CANCEL_BUTTON_TEXT);
- return [self createButtonWithTitle:cancelTitle];
-}
-
-- (base::scoped_nsobject<NSBox>)createSeparator {
- base::scoped_nsobject<NSBox> spacer([[NSBox alloc] initWithFrame:NSZeroRect]);
- [spacer setBoxType:NSBoxSeparator];
- [spacer setBorderType:NSLineBorder];
- [spacer setAlphaValue:kSeparatorAlphaValue];
- [spacer setFrameSize:NSMakeSize(kChooserWidth, kSeparatorHeight)];
- return spacer;
-}
-
-- (base::scoped_nsobject<NSTextField>)createMessage {
- base::scoped_nsobject<NSTextField> messageView(
- [[NSTextField alloc] initWithFrame:NSZeroRect]);
- [messageView setDrawsBackground:NO];
- [messageView setBezeled:NO];
- [messageView setEditable:NO];
- [messageView setSelectable:NO];
- [messageView
- setStringValue:l10n_util::GetNSStringF(IDS_CHOOSER_BUBBLE_FOOTNOTE_TEXT,
- base::string16())];
- [messageView setFont:[NSFont systemFontOfSize:[NSFont systemFontSize]]];
- [messageView sizeToFit];
- return messageView;
-}
-
-- (base::scoped_nsobject<NSButton>)createHelpButton {
- base::scoped_nsobject<NSButton> button(
- [[NSButton alloc] initWithFrame:NSZeroRect]);
- base::scoped_nsobject<HyperlinkButtonCell> cell([[HyperlinkButtonCell alloc]
- initTextCell:l10n_util::GetNSString(
- IDS_CHOOSER_BUBBLE_GET_HELP_LINK_TEXT)]);
- [button setCell:cell.get()];
- [button sizeToFit];
- return button;
-}
-
-- (NSTableView*)tableView {
- return tableView_.get();
-}
-
-- (NSButton*)connectButton {
- return connectButton_.get();
-}
-
-- (NSButton*)cancelButton {
- return cancelButton_.get();
-}
-
-- (NSButton*)helpButton {
- return helpButton_.get();
-}
-
-@end
« no previous file with comments | « chrome/browser/ui/cocoa/chooser_content_view.h ('k') | chrome/browser/ui/cocoa/chooser_content_view_cocoa.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698