[1mdiff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c[m
[1mindex 9fa5298f..8b2e2c06 100644[m
[1m--- a/src/ui/documentwidget.c[m
[1m+++ b/src/ui/documentwidget.c[m
[36m@@ -2033,27 +2033,36 @@[m [mstatic iBool setUrl_DocumentWidget_(iDocumentWidget *d, const iString *url) {[m
return iFalse;[m
}[m
[m
[32m+[m[32mstatic void makePastePrecedingLineMenuItem_(iMenuItem *item_out, const iWidget *buttons,[m
[32m+[m[32m const char *precedingLine) {[m
[32m+[m[32m const iBinding *bind = findCommand_Keys("input.precedingline");[m
[32m+[m[32m *item_out = (iMenuItem){[m
[32m+[m[32m "${menu.input.precedingline}",[m
[32m+[m[32m bind->key,[m
[32m+[m[32m bind->mods,[m
[32m+[m[32m format_CStr("!valueinput.set ptr:%p text:%s", buttons, precedingLine)[m
[32m+[m[32m };[m
[32m+[m[32m}[m
[32m+[m
static const iArray *updateInputPromptMenuItems_(iWidget *menu) {[m
const char *context = cstr_String(&menu->data);[m
const iWidget *buttons = pointerLabel_Command(context, "buttons");[m
const iString *url = string_Command(context, "url");[m
const char *precedingLine = suffixPtr_Command(context, "preceding");[m
[31m- const iBinding *bind = findCommand_Keys("input.precedingline");[m
/* Compose new menu items. */[m
iArray *items = collectNew_Array(sizeof(iMenuItem));[m
[32m+[m[32m iMenuItem pasteItem;[m
[32m+[m[32m makePastePrecedingLineMenuItem_(&pasteItem, buttons, precedingLine);[m
[32m+[m[32m pushBack_Array(items, &pasteItem);[m
pushBackN_Array([m
items,[m
(iMenuItem[]){[m
[31m- { "${menu.input.precedingline}",[m
[31m- bind->key,[m
[31m- bind->mods,[m
[31m- format_CStr("!valueinput.set ptr:%p text:%s", buttons, precedingLine) },[m
{ "---" },[m
{ !isPromptUrl_SiteSpec(url) ? "${menu.input.setprompt}" : "${menu.input.unsetprompt}",[m
0,[m
0,[m
format_CStr("!prompturl.toggle url:%s", cstr_String(url)) } },[m
[31m- 3);[m
[32m+[m[32m 2);[m
/* Recently submitted input texts can be restored. */ {[m
const iStringArray *recentInput = recentlySubmittedInput_App();[m
if (!isEmpty_StringArray(recentInput)) {[m
[36m@@ -2130,8 +2139,13 @@[m [miWidget *makeInputPrompt_DocumentWidget(iDocumentWidget *d, const iString *url,[m
if (lineBreak && deviceType_App() != desktop_AppDeviceType) {[m
addChildPos_Widget(buttons, iClob(lineBreak), front_WidgetAddPos);[m
}[m
[32m+[m[32m /* Shortcut for the Paste Preceding Line. The menu is dynamic so it won't listen[m
[32m+[m[32m for the keys as usual. */ {[m
[32m+[m[32m iMenuItem pasteItem;[m
[32m+[m[32m makePastePrecedingLineMenuItem_(&pasteItem, buttons, cstr_String(&d->linePrecedingLink));[m
[32m+[m[32m addAction_Widget(dlg, pasteItem.key, pasteItem.kmods, pasteItem.command);[m
[32m+[m[32m }[m
/* Menu for additional actions, past entries. */ {[m
[31m-[m
iLabelWidget *ellipsisButton =[m
makeMenuButton_LabelWidget(midEllipsis_Icon, NULL, 0);[m
iWidget *menu = findChild_Widget(as_Widget(ellipsisButton), "menu");[m
[36m@@ -2142,10 +2156,6 @@[m [miWidget *makeInputPrompt_DocumentWidget(iDocumentWidget *d, const iString *url,[m
buttons,[m
cstr_String(canonicalUrl_String(url)),[m
cstr_String(&d->linePrecedingLink)));[m
[31m- // iWidget *menu = findChild_Widget(as_Widget(ellipsisButton), "menu");[m
[31m- // menu->updateMenuItems = updateInputPromptMenuItems_;[m
[31m- // set_String(&menu->data, url); /* needed when updating items */[m
[31m- //}[m
if (deviceType_App() == desktop_AppDeviceType) {[m
addChildPos_Widget(buttons, iClob(ellipsisButton), front_WidgetAddPos);[m
}[m
[1mdiff --git a/src/ui/util.c b/src/ui/util.c[m
[1mindex b45c345b..727cd788 100644[m
[1m--- a/src/ui/util.c[m
[1m+++ b/src/ui/util.c[m
[36m@@ -2588,7 +2588,7 @@[m [miWidget *makeValueInputWithAdditionalActions_Widget(iWidget *parent, const iStri[m
pushBack_Array(&actions, &(iMenuItem){ "---" });[m
}[m
pushBack_Array(&actions, &(iMenuItem){ "${cancel}", SDLK_ESCAPE, 0, "valueinput.cancel" });[m
[31m- if (deviceType_App() != desktop_AppDeviceType) {[m
[32m+[m[32m if (!isDesktop_Platform()) {[m
pushBack_Array(&actions, &(iMenuItem){ "---" });[m
}[m
pushBack_Array(&actions,[m
text/plain
This content has been proxied by September (ba2dc).