зеркало из https://github.com/electron/electron.git
feat: add width option to dialog.showMessageBox() (#30474)
This commit is contained in:
Родитель
e39a1d2ea0
Коммит
77579614e0
|
@ -234,6 +234,7 @@ expanding and collapsing the dialog.
|
|||
* `title` String (optional) - Title of the message box, some platforms will not show it.
|
||||
* `detail` String (optional) - Extra information of the message.
|
||||
* `icon` ([NativeImage](native-image.md) | String) (optional)
|
||||
* `textWidth` Integer (optional) _macOS_ - Custom width of the text in the message box.
|
||||
* `cancelId` Integer (optional) - The index of the button to be used to cancel the dialog, via
|
||||
the `Esc` key. By default this is assigned to the first button with "cancel" or "no" as the
|
||||
label. If no such labeled buttons exist and this option is not set, `0` will be used as the
|
||||
|
@ -285,6 +286,7 @@ If `browserWindow` is not shown dialog will not be attached to it. In such case
|
|||
* `checkboxChecked` Boolean (optional) - Initial checked state of the
|
||||
checkbox. `false` by default.
|
||||
* `icon` [NativeImage](native-image.md) (optional)
|
||||
* `textWidth` Integer (optional) _macOS_ - Custom width of the text in the message box.
|
||||
* `cancelId` Integer (optional) - The index of the button to be used to cancel the dialog, via
|
||||
the `Esc` key. By default this is assigned to the first button with "cancel" or "no" as the
|
||||
label. If no such labeled buttons exist and this option is not set, `0` will be used as the
|
||||
|
|
|
@ -168,6 +168,7 @@ const messageBox = (sync: boolean, window: BrowserWindow | null, options?: Messa
|
|||
defaultId = -1,
|
||||
detail = '',
|
||||
icon = null,
|
||||
textWidth = 0,
|
||||
noLink = false,
|
||||
message = '',
|
||||
title = '',
|
||||
|
@ -225,7 +226,8 @@ const messageBox = (sync: boolean, window: BrowserWindow | null, options?: Messa
|
|||
detail,
|
||||
checkboxLabel,
|
||||
checkboxChecked,
|
||||
icon
|
||||
icon,
|
||||
textWidth
|
||||
};
|
||||
|
||||
if (sync) {
|
||||
|
|
|
@ -38,6 +38,7 @@ struct MessageBoxSettings {
|
|||
std::string checkbox_label;
|
||||
bool checkbox_checked = false;
|
||||
gfx::ImageSkia icon;
|
||||
int text_width = 0;
|
||||
|
||||
MessageBoxSettings();
|
||||
MessageBoxSettings(const MessageBoxSettings&);
|
||||
|
|
|
@ -98,6 +98,12 @@ NSAlert* CreateNSAlert(const MessageBoxSettings& settings) {
|
|||
[alert setIcon:image];
|
||||
}
|
||||
|
||||
if (settings.text_width > 0) {
|
||||
NSRect rect = NSMakeRect(0, 0, settings.text_width, 0);
|
||||
NSView* accessoryView = [[NSView alloc] initWithFrame:rect];
|
||||
[alert setAccessoryView:[accessoryView autorelease]];
|
||||
}
|
||||
|
||||
return alert;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ bool Converter<electron::MessageBoxSettings>::FromV8(
|
|||
dict.Get("noLink", &out->no_link);
|
||||
dict.Get("checkboxChecked", &out->checkbox_checked);
|
||||
dict.Get("icon", &out->icon);
|
||||
dict.Get("textWidth", &out->text_width);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче