blob: bcade03655893262b556b164ebdc2cbb0df111eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
// Copyright 2014 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 "base/mac/bundle_locations.h"
#include "base/strings/sys_string_conversions.h"
#import "chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.h"
#import "chrome/browser/ui/cocoa/extensions/device_permissions_view_controller.h"
#include "chrome/grit/generated_resources.h"
#include "grit/components_strings.h"
#import "ui/base/l10n/l10n_util_mac.h"
using extensions::DevicePermissionsPrompt;
@implementation DevicePermissionsViewController
- (id)initWithController:(DevicePermissionsDialogController*)controller
prompt:
(scoped_refptr<DevicePermissionsPrompt::Prompt>)prompt {
if ((self = [super initWithNibName:@"DevicePermissionsPrompt"
bundle:base::mac::FrameworkBundle()])) {
controller_ = controller;
prompt_ = prompt;
}
return self;
}
- (IBAction)cancel:(id)sender {
controller_->Dismissed();
}
- (IBAction)ok:(id)sender {
[[tableView_ selectedRowIndexes]
enumerateIndexesUsingBlock:^(NSUInteger index, BOOL* stop) {
prompt_->GrantDevicePermission(index);
}];
controller_->Dismissed();
}
- (void)devicesChanged {
[tableView_ reloadData];
}
- (void)awakeFromNib {
[titleField_ setStringValue:base::SysUTF16ToNSString(prompt_->GetHeading())];
[promptField_
setStringValue:base::SysUTF16ToNSString(prompt_->GetPromptMessage())];
[tableView_ setAllowsMultipleSelection:prompt_->multiple()];
[[deviceNameColumn_ headerCell]
setStringValue:l10n_util::GetNSString(
IDS_DEVICE_PERMISSIONS_DIALOG_DEVICE_NAME_COLUMN)];
[[serialNumberColumn_ headerCell]
setStringValue:l10n_util::GetNSString(
IDS_DEVICE_PERMISSIONS_DIALOG_SERIAL_NUMBER_COLUMN)];
[okButton_
setTitle:l10n_util::GetNSString(IDS_DEVICE_PERMISSIONS_DIALOG_SELECT)];
[cancelButton_ setTitle:l10n_util::GetNSString(IDS_CANCEL)];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView {
DCHECK_EQ(tableView_, tableView);
return prompt_->GetDeviceCount();
}
- (id)tableView:(NSTableView*)tableView
objectValueForTableColumn:(NSTableColumn*)tableColumn
row:(NSInteger)rowIndex {
if (tableColumn == deviceNameColumn_) {
return base::SysUTF16ToNSString(prompt_->GetDeviceName(rowIndex));
} else if (tableColumn == serialNumberColumn_) {
return base::SysUTF16ToNSString(prompt_->GetDeviceSerialNumber(rowIndex));
} else {
NOTREACHED();
return @"";
}
}
@end
|